Wer in der AD seinen Benutzern die Region zuweisen möchte (damit das mit ADConnect zB hinhaut) kann das über die GUI machen. Oder bei drölftausend Benutzern mit der Powershell.
Wer bei einem User mal die Attribute anschaut wird feststellen, dass es folgende gibt für die Anzeige der Region:
c, co, Country und countryCode
Easy oder?
PS C:\Users\Administrator> get-aduser mmuster | set-aduser -country "Deutschland"
set-aduser : Ein Wert für das Attribut befindet sich nicht im zulässigen Bereich In Zeile:1 Zeichen:23 + get-aduser mmuster | set-aduser -country "Deutschland" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (CN=Max Mus...C=domain,DC=local:ADUser) [Set-ADUser], ADException + FullyQualifiedErrorId : ActiveDirectoryServer:8322,Microsoft.ActiveDirectory.Management.Commands.SetADUser
Die Abfrage von get-aduser zeigt, dass bei einer Konfiguration in der GUI unter Country "DE" steht. Somit funktioniert die Aktualisierung -country "DE"
Wenn man jetzt aber Deutschland stehen haben will setzt man das Attribut "co"
PS C:\Users\Administrator> set-aduser mmuster -co "Deutschland"
Set-ADUser : Es wurde kein Positionsparameter gefunden, der das Argument "Deutschland" akzeptiert. In Zeile:1 Zeichen:1 + set-aduser mmuster -co "Deutschland" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Set-ADUser], ParameterBindingException + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.SetADUser
Tja, scheiße. Damit das funktioniert muss man die Attribute ersetzen. Im Technet Forum hat mir ein sehr weit unten stehender Beitrag mit ein bisschen Code geholfen.
Lösung:
get-aduser -filter * -property * | set-aduser -Replace @{c="DE";co="Deutschland";countrycode="276"}Für eine genauere Definition kann man unter nachfolgendem Link nachlesen: