Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

AD Anzeigenamen ändern per Powershell

Frage Microsoft Windows Server

Mitglied: Niggo55

Niggo55 (Level 1) - Jetzt verbinden

04.07.2014, aktualisiert 12:22 Uhr, 4010 Aufrufe, 5 Kommentare

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
Mitglied: Onitnarat
LÖSUNG 04.07.2014, aktualisiert um 12:22 Uhr
Hallo Nico,
so sollte es gehen, ist aber ungetestet und geht wegen "-Filter *" auf ALLE Useraccounts in Deinem AD los:
01.
$users = Get-ADUser -Filter * 
02.
 
03.
foreach ($user in $users) { 
04.
 
05.
    $firstname = $user.GivenName 
06.
    $lastname = $user.Surname 
07.
 
08.
    Set-ADUser -Identity $user.SamAccountName -DisplayName ($lastname+", "+$firstname) 
09.
 
10.
}
Gruß
Marcus
Bitte warten ..
Mitglied: colinardo
LÖSUNG 04.07.2014, aktualisiert um 12:22 Uhr
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.
01.
get-aduser -Filter * | ?{$_.Surname -ne $null -and $_.Givenname -ne $null} | %{set-aduser $_.SamAccountName -DisplayName "$($_.Surname), $($_.Givenname)"}
Grüße Uwe
Bitte warten ..
Mitglied: Niggo55
04.07.2014 um 12:07 Uhr
Hallo Uwe und Marcus,

vielen Dank für die Scripte und die schnelle Hilfe

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

Gruß Nico
Bitte warten ..
Mitglied: colinardo
04.07.2014, aktualisiert um 12:23 Uhr
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
Bitte warten ..
Mitglied: Niggo55
04.07.2014 um 12:22 Uhr
Hab mich beim schreiben vertippt, sorry.

Vielen Dank ihr spart mich Stunden monotone Arbeit.

Gruß Nico
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Sticky Notes - Autostart unterbinden

Tipp von Pedant zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Netzwerk
gelöst Powershell skript zum Auslesen der im AD angemeldeten User (2)

Frage von jan.kleinel zum Thema Windows Netzwerk ...

Batch & Shell
gelöst Powershell - Werte in Variable durch Schleife erweitern bzw. ändern (5)

Frage von ralfkausk zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell Monthcalendar Datum Format ändern (4)

Frage von xpxy15 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Base64 Decode (Batch,VBS) (26)

Frage von clragon zum Thema Batch & Shell ...

Flatrates
DeutschlandLAN der Telekom - welche internen IPs? (19)

Frage von qualidat zum Thema Flatrates ...