PowerShell Techguy.at

Rename AD User mit PowerShell

PowerShell

Heute mal wieder ein PowerShell Script zu Active Directory. Ich musste vor kurzem für einen automatischen Usereintritt und Userrochade einen User umbenennen.

Es gab hier mehrere Möglichkeiten, es gibt ein Rename-ADObject CMDLet, diese ändert aber nur den Displayname und Ad Name.

Ich hatte jedoch die Anforderung zusätzlich den Vornamen, Usernamen und SamAccountName zu ändern.

Dementsprechend müssen dann auch noch die Pfade zum Profil und HomeDirectory geändert werden, also gibt’s mal wieder ein PowerShell Script zum kompletten Rename des Ad Users.

Das Beispiel

Für unser Beispiel gibt es den User “Jasmine Hofmeister” mit dem aktuellen Usernamen “HofmeisterJ”.

Dieser User heiratet und bekommt den neuen Nachnamen “Seidl”.

Hier ändert sich also der Usernamen, Displayname, Name, Nachname und die Pfade.

Das Script

Zu Beginn importieren wir die benötigten Module, in diesem Fall das Module “ActiveDirectory”

#Import Module
Import-Module ActiveDirectory

Danach setzen wir die benötigten Variablen.

#Variables
$SamAccountNameBefore=”HofmeisterJ”

$givenName=”Jasmine”
$lastName=”Seidl”
$Displayname=”Seidl, Jasmine”
$sAMAccountName=”SeidlJ”
$UserName=”Jasmine.Seidl@firma.at”
$Name=”Seidl, Jasmine”
$profilePath=”\\dsvatanor01\Temp$\profile\SeidlJ”
$homeDirectory=\\dsvatanor01\Temp$\SeidlJ

$Server=”DC1.firma.lan”

Die Ermittlung dieser Werte kann natürlich auch mittels PowerShell passieren, dazu folgt dann später mal ein Beitrag der sich mit der Ermittlung dieser Daten beschäftig und euch auch einen freien Usernamen generiert.

Jetzt kümmern wir uns um die Umbenennung des Users und setzen aller benötigten Werte.

Zuerst befüllen wir die Variable $User mit dem aktuellen User aus dem AD.

Danach benutzen wir das CMDlet Reanme-ADObejct um den Namen mal zu ändern und danach haben wir eine kleine Pasue eingelegt um die Änderung sauber fertig zu stellen.

$User=Get-ADUser -Identity $SamAccountNameBefore
Rename-ADObject -Identity $User -NewName $Name -Server $Server
sleep -Seconds 10

Danach setzen wir die restlichen Werte

$User=Get-ADUser -Identity $SamAccountNameBefore

Set-ADUser -Identity $User  -surname $lastName -givenname $givenname -displayname $Displayname -UserPrincipalName $UserName -SamAccountname $SamAccountName -profilePath $profilePath -homeDirectory $homeDirectory -HomeDrive “U:” -Server $Server

Danach hat unser User den neuen Namen, seine neuen Pfade zu Profil und HomDirectory und muss sich natürlich jetzt auch mit dem neuen Usernamen anmelden.

 

[wpdm_file id=5]

Michael Seidl aka Techguy.at

Leave a Comment

Your email address will not be published. Required fields are marked *

*