Habe den #Microsoft #Copilot nach Microsoft AD befragt. "das Feld 'co' existiert nicht". Jadoch. tut es. AD hat 4(!) Felder in denen das Land des Users zu finden ist.
c → ISO 3166 Alpha-2 (DE)
co → Englischer Landesname (Germany)
countryCode → ISO 3166 numeric-3 code (276)
Die Felder sind Serverseitig komplett unabhängig, es findet keine Prüfung oder ein Abgleich statt. Wenn man über die GUI editiert, werden Alle gesetzt. Die Liste ist in der UI, wenn man also eine alte Version hat, können da für einige Länder auch schon mal alte Werte geschrieben werden. Nutzt man #Powershell, wird exakt das angegebene Feld gesetzt. Standardmäßig gibt es aber z.B. bei New-ADUser nur -Country, damit wird c gesetzt, co und countryCode bleiben einfach leer. Oder bei Set-ADUser auf dem alten Wert. Im Zweifel sitzt man also je nach dem was die Anwendung ausliest in verschiedenen Ländern gleichzeitig. Will man sie setzen, gibt es keinen direkten Parameter, man muss mit Set-ADUser -Identity foo -Replace @{co = "bar"} arbeiten.
Ach, ich hab Country aus der Liste vergessen? Nun, das ist ein Alias. Was er macht? "Kommt drauf an". Fragt man über PowerShell ab, dann gibt er c zurück, also den 2-Buchstaben-Code. Nutzt man hingegen LDAP, bekommt man co, also den ausgeschriebenen Landesnamen. Oder hat jemand Konsistenz erwartet.
Dieses System ist so ein undurchsichtiger und technisch fragwürdiger Clusterfuck aus Fossilstrukturen.