将 A 列中的组重命名为 B 列中的组

Rename group in column A to group in column B

我正在尝试编写一个脚本来重命名大约 40 个安全组。我已将它们全部导入到 A 列的 csv 中,并将我需要的名称更改为 B 列。这是我目前所拥有的。

Import-Csv C:\test.csv | ForEach-Object{
    $item = $_;
    Get-ADGroup -LDAPFilter "(&(sAMAccountName=$($_.OriginalName)))" | Set-ADGroup -OriginalName $item.Renameto
}

非常感谢您的帮助!

Import-Csv C:\test.csv | ForEach-Object{Rename-ADObject -Identity $_.ColumnAHeader -NewName $_.ColumnBHeader}

如果可能,请使用 A 列中的 DistinguishedName。否则,您可能必须使用分区参数来指定组位置。

您可能必须删除保护对象以免被意外删除。如果是这样,试试这个:

Import-Csv C:\test.csv | ForEach-Object{
Set-ADObject -Identity $_.ColumnAHeader -ProtectedFromAccidentalDeletion:$false
Rename-ADObject -Identity $_.ColumnAHeader -NewName $_.ColumnBHeader -PassThru | Set-ADObject -ProtectedFromAccidentalDeletion:$true
}