Powershell Set-ADAccountPassword : Zugriff Verweigert
Hallo zusammen,
für die Erleichterung der arbeit beim Kunden baute ich mir (mal wieder) ein kleines Script. Folgendes wird getan dabei:
Auszug:
Soweit so gut.
Dies Funktioniert einwandfrei bei all meinen Kunden, nur bei einem streikt das ganze und scheitert mit folgendem Fehler am Beispiel Passwort ändern:
Selbst direkt am Server auf der Powershell funktioniert es nicht...
Wen es interessiert und wer es vielleicht braucht hier das ganze Script:
https://onedrive.live.com/redir?resid=D3CF971C2580642B!3752&authkey= ...
Vielen Dank an alle beteiligten
Grüße
für die Erleichterung der arbeit beim Kunden baute ich mir (mal wieder) ein kleines Script. Folgendes wird getan dabei:
Auszug:
$Name=$InputBoxUser.text;
$User=Get-ADUser -Filter "Name -eq '$Name'" -Properties SamAccountName
$Password = ''
$random = New-Object System.Random
1..10 | ForEach { $Password = $Password + [char] $random.next(48,123) }
$SetPassword = ConvertTo-SecureString -AsPlainText $Password -Force
$outputbox.Text +="`r`n"
$OUGUID
$outputbox.Text += Invoke-Command @ServerSettings -Credential $cred -ArgumentList ($User,$SetPassword,$OUGUID) -ScriptBlock{
Param($user,$SetPassword,$TargetOU)
$ou=$TargetOU.Item("TargetPath")
("User deaktiviert: "+$user.SamAccountName)
Get-AdUser -Identity $user.SamAccountName | Set-ADAccountPassword -NewPassword $SetPassword -Reset -Confirm:$false
Get-AdUser -Identity $user.SamAccountName | Set-ADAccountControl -CannotChangePassword:$true
Get-ADPrincipalGroupMembership -Identity $user.SamAccountName | % {Remove-ADPrincipalGroupMembership -Identity $user.SamAccountName -MemberOf $_ -Confirm:$false}
Get-AdUser -Identity $user.SamAccountName | Move-ADObject -TargetPath $ou
Get-AdUser -Identity $user.SamAccountName | Disable-ADAccount
} -ErrorAction SilentlyContinue -ErrorVariable ErrDelUser -WarningVariable WarningDelUser
Soweit so gut.
Dies Funktioniert einwandfrei bei all meinen Kunden, nur bei einem streikt das ganze und scheitert mit folgendem Fehler am Beispiel Passwort ändern:
Set-ADAccountPassword : Zugriff verweigert
In Zeile:1 Zeichen:45
+ Get-AdUser -Identity $user.SamAccountName | Set-ADAccountPassword -NewPassword $ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (CN=USER...DC=domain,DC=local:ADUser) [Set-ADAccountPassword], Un
authorizedAccessException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:System.UnauthorizedAccessException,Microsoft.ActiveDirectory.Manag
ement.Commands.SetADAccountPassword
Wen es interessiert und wer es vielleicht braucht hier das ganze Script:
https://onedrive.live.com/redir?resid=D3CF971C2580642B!3752&authkey= ...
Vielen Dank an alle beteiligten
Grüße
Please also mark the comments that contributed to the solution of the article
Content-ID: 301562
Url: https://administrator.de/contentid/301562
Printed on: December 5, 2024 at 21:12 o'clock
26 Comments
Latest comment
Hat der Server UAC aktiviert? Wird das Skript in einer elevated Shell ausgeführt ?
Gruß jodel32
Gruß jodel32
Dann würde ich mir die AD-Permissions(adsiedit / erweiterte Eigenschaften Tab: Sicherheit in ADUC) des Benutzers für den das Password geändert werden soll mal genauer anschauen, was bei dem so in den ACLs steht.
Achso, habe überlesen. Nicht "bei einem Benutzer" sondern "bei einem Kunden". Also ein anderes AD.
Mal ins Blaue gestochert:
Könnte es sein, dass es dort mehrere Domains gibt?
Könnte es sein, dass dort eine andere Passwortrichtlinie gilt?
Könnte es sein, dass das Script dummerweise über einen RODC versucht, das Passwort zu ändern?
Mal ins Blaue gestochert:
Könnte es sein, dass es dort mehrere Domains gibt?
Könnte es sein, dass dort eine andere Passwortrichtlinie gilt?
Könnte es sein, dass das Script dummerweise über einen RODC versucht, das Passwort zu ändern?
Könnte es sein, dass dort eine andere Passwortrichtlinie gilt?
Guter Einwand .. Sein Skript generiert ja wahllose Passwörter ohne einer bestimmten Komplexität zu entsprechen zu müssen.
Wie sieht es mit einem anderen Enterprise- oder Domain-Admin Account aus, dort das selbe Verhalten ?
Gut, dann hat der Server ein generelles Problem, könnte tatsächlich mit der Umwandlung des RODC zu tun haben.
Geb mal den Server mit dem -Server Parameter bei Set-ADAccountPasswort explizit an auf welchem das Passwort geändert werden soll.
Geb mal den Server mit dem -Server Parameter bei Set-ADAccountPasswort explizit an auf welchem das Passwort geändert werden soll.
Was sagen die Eventlogs?
Hmm, ohne die genaue Vorgeschichte zu kennen, sehr sehr schwierig hier eine passende Aussage zu treffen was da verbastelt wurde, außer du kannst deinen Vorgänger ausquetschen was er da verbrochen hat.
Einen neuen DC aufzusetzen ist denke ich in dieser Situation eine vernünftige und schnelle Lösung.
Gruß jodel32
Einen neuen DC aufzusetzen ist denke ich in dieser Situation eine vernünftige und schnelle Lösung.
Gruß jodel32