====== Fix-EmptyUPN.ps1 ====== ===== Allegemeines / Hintergrund ===== Der UserPrincipalname (UPN) wird gelegentlich von einem Objekt abgeschnitten und das entsprechende Feld als leer angezeigt. Das Phänomen ist als kritisch einzustufen, da Abgleiche über den UPN laufen.\\ Das Skript geht über alle Benutzer-Objekte im Forest und kopiert den SamAccountName in den UPN, sofern der UPN nicht identisch mit dem SamAccountName ist. ===== Das Skript ===== foreach ($user in (get-aduser -filter *)) { #write-host processing $user.samaccountname -nonewline [string]$forest=(get-addomain).forest [string]$sam = $user.samaccountname [string]$upn = "$sam@$forest" if ($user.UserPrincipalName -eq $upn){ # write-host " UPNOK: $upn" -background green -foreground black } else { write-host " UPNFIX:$upn" -backgroundcolor yellow # set-aduser -identity $sam -UserPrincipalName $upn -whatif } }