Wir standen vor dem Problem, dass wir von einem zentralen Active Directory Account die Userkennwörter anderer Domänen-Anwender ändern wollten. Dabei haben wir uns vorgestellt, dies mit einem Administrativen Account durchzuführen, der die entsprechende Rechte im AD hat, Userkennwörter zu ändern. Außerdem sollte das Script aus einer anderen Anwendung heraus gestartet werden und die entsprechende Kennwortänderung durchführen.

PowerShell Skript für Kennwort Änderung

Nach einiger Recherche konnten wir zunächst das Problem mit der Kennwortänderung eines AD Users per PowerShell löschen. Dazu verwenden wir nun folgendes Skript.

Import-Module ActiveDirectory
Set-ADAccountPassword USERNAME -Reset -NewPassword (ConvertTo-SecureString -AsPlainText „KENNWORT“ -Force)

Damit dieses Script überhaupt ausgeführt werden kann, müsst Ihr Euch die entsprechenden „RSAT-Tools“ (Remote Server Administration Tools) installieren. Vor einiger Zeit hatten wir auch schon darüber berichtet, wie Ihr die Windows 11 RSAT Tools installieren könnt oder wie Ihr die RSAT Tools per PowerShell installieren könnt.

PowerShell Skript AD Kennwort ändern

Ihr müsst Euch auf jeden Fall die Komponente „Tools für Active Directory Domain Services und Lightweight Directory Services“ der RSAT Tools installieren, andernfalls kann das PowerShell Skript das ActiveDirectory Modul nicht laden.

Die Daten für „USERNAME“ und „KENNWORT“ müsst Ihr natürlich durch Eure Daten entsprechend ersetzen. Am besten Ihr speichert dann diese 2 Zeilen in eine „.PS1“ Datei ab.

Aufruf des PowerShell Skripts

Beim Aufruf des Skripts durch den administrativen User kam es leider immer wieder zu dem Problem, dass das Kennwort ohne ersichtlichen Grund NICHT geändert wurde. Dies lag letztendlich am Aufruf des Skriptes. Wenn Ihr das Skript mit folgendem Befehl aufruft, sollte es einwandfrei funktionieren.

powershell -executionpolicy bypass „c:\temp\SKRIPTNAME.ps1“