Massenänderung von AD-Passwörtern via Skript
Es erfolgt mit diesen Skript ein Passwortwechsel und die Aktivierung von PMC.
$user.SamAccountName
und SamAccountName
in der CSV-Datei, muss für die eigene Umgebung angepasst werden.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# CSV-Datei mit UserPrincipalName (oder SamAccountName)
$users = Import-Csv -Path "C:\Users\foo\Desktop\user.csv"
# Beispiel: festes Passwort für alle Nutzer (kannst du anpassen)
$neuesPasswort = "passWoRd!5678"
foreach ($user in $users) {
try {
# Nutzerobjekt aus Active Directory abrufen
$adUser = Get-ADUser -Identity $user.SamAccountName -ErrorAction Stop
# Neues Passwort setzen (Set-ADAccountPassword)
Set-ADAccountPassword -Identity $adUser -Reset -NewPassword (ConvertTo-SecureString $neuesPasswort -AsPlainText -Force)
# PMC (Password Must Change) aktivieren
Set-ADUser -Identity $adUser -ChangePasswordAtLogon $true
Write-Host "Kennwort für $($user.SamAccountName) erfolgreich gesetzt und PMC aktiviert." -ForegroundColor Green
}
catch {
Write-Warning "Fehler bei $($user.SamAccountName): $_"
}
}
Inhalt der CSV-Datei:
1
2
3
4
5
SamAccountName
user1
user2
foo
bar