Skript Erklärung
Das Skript sucht im Active Directory nach vorhandenen Gruppen mit der Bezeichnung „-ABC“ im Gruppennamen und ersetzt bei allen zutreffenden Gruppen den Name,CN und SamAccountName durch den neuen Gruppennamen.
Beispiel
Vorher: Gruppe-TEST-ABC
Nachher: Gruppe-TEST-XYZ
# # # Autor: Jan Weis # Funktion: Umbenennen von AD-Gruppen # # Write-Host 'Gruppen werden erfasst...' -NoNewline $Gruppen = Get-ADGroup -Filter {Name -like '*-ABC'} Write-Host '[OK]' -ForegroundColor Green foreach ($obj in $Gruppen) { try { $Name = (($obj).Name).Replace('ABC','XYZ') Set-ADGroup -Identity $obj -SamAccountName $Name Rename-ADObject -Identity $obj -NewName $Name Write-Host "[+] $($obj.Name) wurde erfolgreich in $Name umbenannt." -ForegroundColor Green } catch { Write-Host "[ERR] $($obj.Name) wurde nicht umbenannt.`n$_" -ForegroundColor Red } }
So funktioniert es Super…;-)
Write-Host ‚Gruppen werden erfasst…‘ -NoNewline
Get-ADGroup -Filter * -SearchBase „OU=Groups,OU=Staging,DC=YourDomain,DC=local“ | Select Name, DistinguishedName | Export-csv -path c:\migration\Haushalt\group.csv -NoTypeInformation
$csv = Import-Csv -Path c:\migration\Haushalt\group.csv
Write-Host ‚[OK]‘ -ForegroundColor Green
foreach ($group in $csv)
{
try
{
$Name = (($group).Name).Replace(‚ABC‘,’DEF‘)
Set-ADGroup -Identity $group.DistinguishedName -SamAccountName $Name
Rename-ADObject -Identity $group.DistinguishedName -NewName $Name
Write-Host „[+] $($group.Name) wurde erfolgreich in $Name umbenannt.“ -ForegroundColor Green
}
catch
{
Write-Host „[ERR] $($group.Name) wurde nicht umbenannt.`n$_“ -ForegroundColor Red
}
}
So kann man es natürlich auch machen 😉
Ich persönlich versuche so wenig wie möglich zu ex- und importieren, um somit Fehler im Vorgang zu vermeiden, den Vorgang nicht zu verlangsamen und die Möglichkeit nicht zu verlieren weitere Objekteigenschaften zu verarbeiten.
Danke für Dein Feedback und noch einen schönen Tag 🙂