Ich hatte eine Anforderung, dass die Active Directories mehrerer Firmen verschmolzen wurden, bei den Gruppen aber trotzdem noch eine Trennung per Namenskonvention stattfinden musste. Die Firmen waren bereits alle in eigenen OU, weshalb es nur noch darum ging sowohl hinter den SAMAccountName als auch dem „normalen“ Namen das Firmen-Suffix zu setzen. Bei Hunderten von Gruppen lässt man das aber nicht einmal den Praktikanten machen…
# Der Name wie er in der OU vorkommt $Firmenname = "FirmaA" # Das Suffix das drangehängt werden soll $Suffix = "_FmA" # Alle AD-Gruppen -> Bei denen der Firmanname im Objekt steht Get-ADGroup -Filter * | where {$_.DistinguishedName -like "*$Firmenname*"} | foreach-object { # Wenn entweder der SAMAccountName oder der "richtige" Name kein Suffix hat if($_.SAMAccountName -notlike "*$Suffix" -or $_.Name -notlike "*$Suffix"){ echo "SAMAccountName oder Name ist noch nicht $Suffix" # Wenn der Name schon richtig ist if ($_.Name -like "$Suffix"){ echo "NAME SCHON richtig" $neuerName = $_.Name # Wenn er noch nicht richtig ist }else{ echo "Name WIRD GEAENDERT!" $neuerName = $_.Name + "$Suffix" } # Name und SAMAccountName werden gesetzt $_ | Rename-ADObject -NewName $neuerName Set-ADGroup $_.SAMAccountName -SAMAccountName $neuerName # Wenn beide schon das Suffix haben, dann braucht man nichts mehr zu tun }else{ echo "SCHON OK!" } }