theflooh

Powershell AD "Common Name" festlegen

Hallo zusammen,

ich habe mir in den letzten Tagen ein Skript angelegt, was die Useranlage erleichtern soll.
Allerdings passt bis jetzt noch ein Detail nicht, zu dem ich auch nichts in der Forensuche gefunden habe.
Und zwar hab ich das Problem, dass mir in der Übersicht auf dem AD der Anmeldename angezeigt wird.
Dort will ich aber "Nachname, Vorname" haben.
Auf dem Screenshot ist zu sehen, wie ich es gerne hätte. Dass statt "ttest" halt eben "Test, Testo" da steht wie beim "Mustermann, Max" (dieser wurde händisch angelegt).
Wohl ist das der CommonName, ich konnte aber nicht herausfinden wie ich den festlege oder vergebe.
Dafür ging nun leider relativ viel Zeit drauf und ich dachte, vielleicht weiß das jemand hier.

Schon mal Danke für eure Hilfe!

#Skript für die automatische Useranlage auf dem AD
#Abfrage der allgemeinen Daten
$Vorname = Read-Host "Vorname"  
$Nachname = Read-Host "Nachname"  
$Kuerzel = Read-Host "Kürzel"  
$Durchwahl = Read-Host "Durchwahl"  

#Ganzen Namen erstellen
$VollerName = $Nachname + ", " + $Vorname  

#Benutzeranmeldename erstellen
$Anmeldename = $Vorname.ToLower() + $Nachname.ToLower()
$Benutzeranmeldename = $Anmeldename + "@DOMÄNE-test.local"  

#Beschreibung erstellen
$Beschreibung = $Kuerzel + " - " + $Nachname + " " +  $Vorname  

#Erstellen der Emailadresse
$EmailPrefix = "@FIRMA.de"  
$Emailaddresse = $Vorname + "." + $Nachname + $EmailPrefix  

#Erstellen der Telefonnummern
$Festnetz = "0012345678" + $Durchwahl  
$Mobilnummer = "012345678" + $Durchwahl  

New-ADUser -Name $Anmeldename -SamAccountName $Anmeldename -Path "OU=Users,OU=DOMÄNE-Test,DC=DOMÄNE-test,DC=local" -AccountPassword(Read-Host -AsSecureString "Passwort") -ChangePasswordAtLogon $true -Enabled $true  
Set-ADUser $Anmeldename -GivenName $Vorname -Surname $Nachname -Initials $Kuerzel -UserPrincipalName $Benutzeranmeldename  -Description $Beschreibung -DisplayName $VollerName  
Set-ADUser $Anmeldename -City STADT -PostalCode PLZ
Set-ADUser $Anmeldename -OfficePhone $Festnetz -MobilePhone $Mobilnummer
Set-ADUser $Anmeldename -EmailAddress $Emailaddresse
Set-ADUser $Anmeldename -name $VollerName

Ich hoffe ich bin in dem Forumsteil richtig?:D
ad
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 481975

Url: https://administrator.de/forum/powershell-ad-common-name-festlegen-481975.html

Ausgedruckt am: 21.05.2025 um 05:05 Uhr

140447
140447 05.08.2019 aktualisiert um 20:21:18 Uhr
Goto Top
Du setzt ja überall nur $Anmeldename als Namen wie soll der volle Name also greifen wenn du überall die falschen Variablen einsetzt ?! ;)
Es reicht ihn direkt bei der Anlage zu setzen
New-ADUser -Name $VollerName ................
https://docs.microsoft.com/en-us/powershell/module/addsadministration/ne ...
emeriks
emeriks 05.08.2019 aktualisiert um 20:07:58 Uhr
Goto Top
Und man kann alle Eigenschaften in einem Rutsch gleich mit dem New-ADUser übergeben, statt zig nachvolgender Set-ADuser

Den CommonName kann man nicht direkt setzen. Wenn dieser mal geändert werden muss, dann muss man das AD-Objekt umbenennen oder verschieben.
Rename-ADObject
Move-ADObject

E.
Penny.Cilin
Penny.Cilin 06.08.2019 um 08:31:00 Uhr
Goto Top
Moin,

den Anzeigenamen kann man Oldschool mittels
net user <username> /FULLNAME:<Name> 
anpassen.
Die Variablen in <> sind sinngemäß anzupassen.

Beispiel:
Net user m.mustermann /Fullname:"Mustermann, m."  

Ich hoffe ich habe verstanden, was gemeint ist. Ob man in Powershell den Fullname oder auch Displayname genannt anpassen kann, weiß ich nicht. Ich denke aber mal, daß es eine Möglichkeit dazu gibt.

Gruss Penny.
erikro
erikro 06.08.2019 um 08:32:55 Uhr
Goto Top
Moin,

Du solltest auch noch Deine Nomenklatur für den SamAccountName überdenken. Wir haben als Extrembeispiel eine Benutzerin, die heißt ungefähr so: Maria Julia Rodriguez Santos de las Casas. Dein Skript würde daraus "maria juliarodriguez santos de las casas" machen. Selbst wenn Du die Leerzeichen rausnimmst, wird das viel zu lang.

Liebe Grüße

Erik
emeriks
emeriks 06.08.2019 um 08:43:10 Uhr
Goto Top
Zitat von @Penny.Cilin:
den Fullname oder auch Displayname genannt
Eben. Aber displayName <> cn
Penny.Cilin
Penny.Cilin 06.08.2019 um 12:45:54 Uhr
Goto Top
Zitat von @erikro:

Moin,

Du solltest auch noch Deine Nomenklatur für den SamAccountName überdenken. Wir haben als Extrembeispiel eine Benutzerin, die heißt ungefähr so: Maria Julia Rodriguez Santos de las Casas. Dein Skript würde daraus "maria juliarodriguez santos de las casas" machen. Selbst wenn Du die Leerzeichen rausnimmst, wird das viel zu lang.
Hallo?! - Das geht garnicht. Weil fällt das nicht Persönlichkeitsrecht oder unter §§1 der BRD? face-wink
Da würde ich Dir aber ganz kräftig ins Kreuz steigen, wenn man mir nichts dir nichts Name verunglimpft.

Ja isch weiß die Betriebssysteme sind shice, weil diese solche Konstrukte nicht unterstützen

Liebe Grüße

Erik
Gruss Penny.

P.S. der hier am Rad dreht, weil so viel SHICE wie ich gerade hier erlebe rechtfertigt den Einsatz von 2x40 Tonnen LKW mit C4.
erikro
erikro 06.08.2019 um 13:10:14 Uhr
Goto Top
Moin,

Zitat von @Penny.Cilin:

Zitat von @erikro:

Moin,

Du solltest auch noch Deine Nomenklatur für den SamAccountName überdenken. Wir haben als Extrembeispiel eine Benutzerin, die heißt ungefähr so: Maria Julia Rodriguez Santos de las Casas. Dein Skript würde daraus "maria juliarodriguez santos de las casas" machen. Selbst wenn Du die Leerzeichen rausnimmst, wird das viel zu lang.
Hallo?! - Das geht garnicht. Weil fällt das nicht Persönlichkeitsrecht oder unter §§1 der BRD? face-wink
Da würde ich Dir aber ganz kräftig ins Kreuz steigen, wenn man mir nichts dir nichts Name verunglimpft.

Nein, da wird nichts verunglimpft. Das sind ganz normale Namen aus dem lateinamerikanischen Raum. Und das Beispiel ist auch nicht echt. face-wink Außerdem wollen die User von ganz alleine, dass das kürzer wird. Unsere Systeme sind so eingestellt, dass da kein Username zum Anklicken steht oder gar der letzte angemeldete automatisch angeboten wird. Und wer will jedes mal mariajuliarodriguezsantosdelascasas als Username eintippen? face-wink

Liebe Grüße

Erik
TheFlooh
TheFlooh 06.08.2019 um 14:27:53 Uhr
Goto Top
Zitat von @erikro:
Und wer will jedes mal mariajuliarodriguezsantosdelascasas als Username eintippen? face-wink

Solche Anmeldenamen haben wir bei uns (bisher) zum Glück noch nicht, aber zur Not wird da ne Lösung für gefunden.
Da ist jetzt nicht das Problem. :D
TheFlooh
TheFlooh 06.08.2019 um 14:29:54 Uhr
Goto Top
Zitat von @emeriks:

Und man kann alle Eigenschaften in einem Rutsch gleich mit dem New-ADUser übergeben, statt zig nachvolgender Set-ADuser>

Ja, das Skript habe ich noch dementsprechend angepasst.
Wusste noch nicht wie es geht, ich beschäftige mich erst seit dem Skript mit PS face-smile

Den CommonName kann man nicht direkt setzen. Wenn dieser mal geändert werden muss, dann muss man das AD-Objekt umbenennen oder verschieben.
Rename-ADObject
Move-ADObject

E.

Das hat mir leider nichts gebracht.
Zumindest hab ich nicht hinbekommen die ObjectGUID automatisch herauszuziehen und es dann dementsprechend anzupassen.
Das händisch nachgucken/anpassen macht das ganze Skript ja dann irgendwie wieder sinnfrei..
emeriks
emeriks 06.08.2019 um 14:53:12 Uhr
Goto Top
Zitat von @TheFlooh:
Das hat mir leider nichts gebracht.
Zumindest hab ich nicht hinbekommen die ObjectGUID automatisch herauszuziehen und es dann dementsprechend anzupassen.
Das händisch nachgucken/anpassen macht das ganze Skript ja dann irgendwie wieder sinnfrei..
Wofür brauchst Du da die objectGUID ?
TheFlooh
TheFlooh 06.08.2019 um 15:09:17 Uhr
Goto Top
Das hab ich jetzt auf Basis des 2. Links von dir gemacht:
Rename-ADObject -Identity "4777c8e8-cd29-4699-91e8-c507705a0966" -NewName "AmsterdamHQ" -Partition "CN=Configuration,DC=FABRIKAM,DC=COM"  
Rename Object

Da bekomme ich das mit dem Pfad auch leider nicht hin.
Die User liegen in
"OU=Users,OU=Domäne-Test,DC=domäne-test,DC=local"  
Oder macht das keinen Sinn, es so aufzubauen?
Hab mich da einfach an unserem bisherigen System orientiert
erikro
erikro 06.08.2019 um 15:18:41 Uhr
Goto Top
Moin,

Zitat von @TheFlooh:

Zitat von @emeriks:

Und man kann alle Eigenschaften in einem Rutsch gleich mit dem New-ADUser übergeben, statt zig nachvolgender Set-ADuser>

Ja, das Skript habe ich noch dementsprechend angepasst.
Wusste noch nicht wie es geht, ich beschäftige mich erst seit dem Skript mit PS face-smile

Naja, alle ist auch getrommelt. Die wichtigen kann man direkt per new-ADUser setzen. Die vollständige Liste, welche gehen, findest Du hier:
https://docs.microsoft.com/en-us/powershell/module/addsadministration/ne ...

Zitat von @erikro:
Und wer will jedes mal mariajuliarodriguezsantosdelascasas als Username eintippen?

Solche Anmeldenamen haben wir bei uns (bisher) zum Glück noch nicht, aber zur Not wird da ne Lösung für gefunden.
Da ist jetzt nicht das Problem. :D

Naja, wenn man das skripten will, dann sollte man da von vornherein Regel aufstellen. Ich pflege monatlich ca. 30 neue User ein. Das mache ich natürlich auch nicht händisch. Da kommt die Liste aus der Perso. Die wird noch um Gruppenmitgliedschaften und OUs ergänzt und dann einmal durchrauschen lassen. Die offiziellen Regeln werden da natürlich berücksichtigt, so dass aus meinem Beispiel der samAccountName mrodriguez wird.

Aber ganz kriegt man das nie automatisiert. Wehe es kommt eine, die Maria Rodriguez Gonzales heißt. face-wink

Liebe Grüße

Erik
emeriks
emeriks 07.08.2019 aktualisiert um 08:14:52 Uhr
Goto Top
Rename-ADObject -Identity "CN=Müller\, Peter,OU=Abteilung,DC=domain,DC=tld" -NewName "Mueller\, Peter"