In den letzten Jahren haben sich die Regularien für Passwörter verändert. Von der Länge bis zur Komplexität gab es immer wieder Anpassung bei Anforderungen.
Bei der Nutzung von Sonderzeichen in Passwörtern kommt es gerne auch mal zu Problemen unter Powershell. So wird eine Pipe (|), ein Dollarzeichen ($) oder ein Anführungszeichen („) entsprechend als Programmcode interpretiert und es kommt zu Fehlermeldungen. Es kann auch dadurch der Umstand entstehen, dass ein „anderes Password“ gesetzt wird als definiert.
Dieses kann man mit dem folgenden Code-Schnipsel umgehen:
$password = @'
P!UAQ1I|FBZ-4o6N1?p8PDD"?"ce_s6A
'@
$securepassword = ConvertTo-SecureString $password -AsPlainText -Force
$user = "MMustermann"
Set-ADAccountPassword -Identity $user -NewPassword $securepassword –Reset
Set-ADUser -Identity $user -ChangePasswordAtLogon $true -CannotChangePassword $false -PasswordNeverExpires $false enabled $true
Unlock-ADAccount $user
Beim Aufruf der Variable $password wird nur die mittlere Zeile genutzt. Nach dem Setzen des Kennworts habe ich mir angewöhnt die weiteren Befehle mit zu setzen, da es dann weniger Komplikationen in der Nutzung des frisch gesetzten Kennworts gibt.