niggo55
Goto Top

AD Anzeigenamen ändern per Powershell

Hallo zusammen,

ich habe nun die Aufgabe den Anzeigenamen von allen Mitarbeitern zu ändern.
Von "Vorname Nachname" auf "Nachname, Vorname"

Nun will ich nicht unbedingt 500 Konten händisch anfassen, sondern es entweder voll oder halb automatisiert erledigen.
Was ich versucht habe:
Set-Aduser <upnnamen> -displayname "<nachname, vorname>"
Dies funktioniert auch soweit. Aber es ist mühsehlig, da jedesmal der Nachname und der Vorname händisch eingegeben werden muss.
Ich würde den Vornamen und Nachnamen allerdings gerne aus dem AD als Variable o.Ä. übernehmen.

Und da komme ich nicht weiter.
Mein Ansatz war, der nicht funktioniert:
Set-AdUser <upnnamen> -displaynamen "$Lastname, $Firstname"

Hatt da jmd eine Idee?

Vielen Danke
MfG
Nico

Content-ID: 242713

Url: https://administrator.de/contentid/242713

Ausgedruckt am: 05.11.2024 um 19:11 Uhr

Onitnarat
Lösung Onitnarat 04.07.2014 aktualisiert um 12:22:11 Uhr
Goto Top
Hallo Nico,
so sollte es gehen, ist aber ungetestet und geht wegen "-Filter *" auf ALLE Useraccounts in Deinem AD los:
$users = Get-ADUser -Filter *

foreach ($user in $users) {

    $firstname = $user.GivenName
    $lastname = $user.Surname

    Set-ADUser -Identity $user.SamAccountName -DisplayName ($lastname+", "+$firstname)  

}

Gruß
Marcus
colinardo
Lösung colinardo 04.07.2014 aktualisiert um 12:22:08 Uhr
Goto Top
Hallo Nico,
Filtert in diesem Beispiel nur die User bei denen auch Vor- und Nachname existiert. Solltest du wenns geht auf eine OU oder einen Container begrenzen in der keine "Sonder"-Accounts liegen. So werden aber schon die meisten besonderen Accounts ausgefiltert.
get-aduser -Filter * | ?{$_.Surname -ne $null -and $_.Givenname -ne $null} | %{set-aduser $_.SamAccountName -DisplayName "$($_.Surname), $($_.Givenname)"}  
Grüße Uwe
Niggo55
Niggo55 04.07.2014 um 12:07:44 Uhr
Goto Top
Hallo Uwe und Marcus,

vielen Dank für die Scripte und die schnelle Hilfe face-smile

Wenn ich das Script vom Marcus ausführe, erstellt er mir lediglich als Anzeigenamen ein Komma.

Gruß Nico
colinardo
colinardo 04.07.2014 aktualisiert um 12:23:20 Uhr
Goto Top
Zitat von @Niggo55:
Wenn ich das Script vom Marcus ausführe, erstellt er mir lediglich als Anzeigenamen ein Komma.
Auf was für einem System fährst du das Script ?
Meins geht hier soweit einwandfrei auf einem Server 2008 R2. Das von Marcus funktioniert auch, bis auf wenn die Namen leer sind, dann wird bei seinem Script im Namen natürlich nur ein Komma aufgeführt !. Das wurde in meinem Script bereits berücksichtigt.

Grüße Uwe
Niggo55
Niggo55 04.07.2014 um 12:22:03 Uhr
Goto Top
Hab mich beim schreiben vertippt, sorry.

Vielen Dank ihr spart mich Stunden monotone Arbeit.

Gruß Nico