Benutzerobjekte im AD anpassen
Hallo,
ich will im AD einmal "aufräumen".
Ich will alle Benutzerobjekte (sind aktuell Vorname Nachname) anpassen, indem der Displayname und der CN angepasst wird. Es soll dann Nachname, Vorname werden.
Das ganze möchte ich per Powershell machen und habe dazu auch schon was gefunden / gebastelt.
Hier ist mein Code:
Teil 1 funktioniert soweit (erstmal mit einem User getestet).
Teil 2 funktioniert leider nicht.
Das Objekt existiert definitiv.
Ich sehe gerade leider nicht, wo der Fehler liegt
Sieht jemand von euch ihn, oder habt ihr eine andere Idee, wie ich das machen kann?
Gruß
ich will im AD einmal "aufräumen".
Ich will alle Benutzerobjekte (sind aktuell Vorname Nachname) anpassen, indem der Displayname und der CN angepasst wird. Es soll dann Nachname, Vorname werden.
Das ganze möchte ich per Powershell machen und habe dazu auch schon was gefunden / gebastelt.
Hier ist mein Code:
get-aduser -Filter * | ?{$_.Surname -ne $null -and $_.Givenname -ne $null} | %{set-aduser $_.SamAccountName -DisplayName "$($_.Surname), $($_.Givenname)"}
get-aduser -Filter * | ?{$_.Surname -ne $null -and $_.Givenname -ne $null} | %{Rename-ADObject $_.SamAccountName -NewName "$($_.Surname), $($_.Givenname)"}
Teil 1 funktioniert soweit (erstmal mit einem User getestet).
Teil 2 funktioniert leider nicht.
PS C:\WINDOWS\system32> get-aduser vorname.nachname | ?{$_.Surname -ne $null -and $_.Givenname -ne $null} | %{Rename-ADO
bject $_.SamAccountName -NewName "$($_.Surname), $($_.Givenname)"}
Rename-ADObject : Unter "DC=mydom,DC=local" kann kein Objekt mit der ID "vorname.nachname" gefunden werden.
In Zeile:1 Zeichen:87
+ ... $null} | %{Rename-ADObject $_.SamAccountName -NewName "$($_.Surname) ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (vorname.nachname:ADObject) [Rename-ADObject], ADIdentityNotFoundExcepti
on
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,M
icrosoft.ActiveDirectory.Management.Commands.RenameADObject
Das Objekt existiert definitiv.
PS C:\WINDOWS\system32> get-aduser vorname.nachname
DistinguishedName : CN=Vorname Nachname,OU=Benutzer,DC=mydom,DC=local
Enabled : True
GivenName : Vorname
Name : Vorname Nachname
ObjectClass : user
ObjectGUID : bf1b67b9-dae1-4842-833d-95c49acc56ec
SamAccountName : vorname.nachname
Surname : Nachname
UserPrincipalName : vorname.nachname@mydom.local
Ich sehe gerade leider nicht, wo der Fehler liegt
Sieht jemand von euch ihn, oder habt ihr eine andere Idee, wie ich das machen kann?
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 346045
Url: https://administrator.de/forum/benutzerobjekte-im-ad-anpassen-346045.html
Ausgedruckt am: 03.04.2025 um 07:04 Uhr
9 Kommentare
Neuester Kommentar

Weil du bei Rename-AdObject den DistinguishedName und nicht den SamAccountname angeben musst, deswegen findet er kein Objekt
.
Gruß
Gruß

Nö, ist so ja immer noch gleich. Wieso schreibe ich wohl "DistinguishedName"??
Also mal bitte lesen
https://technet.microsoft.com/de-de/library/ee617225.aspx
Also mal bitte lesen
https://technet.microsoft.com/de-de/library/ee617225.aspx

Weil du um den String keine geschweiften Klammern setzt, denn ohne gibt es die Laufvariablen nicht.
get-aduser -Filter * -Properties Surname,Givenname | ?{$_.Surname -ne $null -and $_.Givenname -ne $null} | Rename-ADObject -NewName {"$($_.Surname), $($_.Givenname)"}

Mag er irgendwie nicht so ganz.
Na das nenne ich mal eine fachgerechte Antwort...Lüppt hier einwandfrei, du kannst es auch mit Schleife drum rum.

get-aduser vorname.nachname -Properties Surname,Givenname | ?{$_.Surname -ne $null -and $_.Givenname -ne $null} | %{Rename-ADObject $_.DistinguishedName -NewName "$($_.Surname), $($_.Givenname)"}