PS AD – Set UserAccountControl Password never expires

Mit diesen Beispiel-Skripten setzten wir einen neuen Wert für das Attribut UserAccountControl. Ich setze das gerne schon mal als Task ein, um sicherzustellen, das User aus welchen Gründen auch immer das Flag (never expires) gesetzt bekommen haben und vergessen wurde es zu entfernen.

Zur Auswahl stehen z.B. die Werte

  • 512 für Enable Account (Default Password expires)
  • 514 für Disable Account
  • 544 für Account Enabled, Require User to Change Password
  • 66048 für Enabled, Password never expires
  • 66050 für Disabled, Password never expires
  • 262656 für Enabled, Smartcard required

Skript mit Filter auf eine OU und keine Admins:

$users = Get-ADUser -filter "samaccountname -notlike '*Adm*'" -SearchBase "OU=User Accounts,OU=User,OU=ORG,DC=ndsedv,DC=de"
foreach ($user in $users) {
Set-ADUser $user -Replace @{useraccountcontrol="512"}
}

Skript liest .txt Datei ein:

$users = Get-Content "C:\Temp\User.txt"
foreach ($user in $users) {
Set-ADUser $user -Replace @{useraccountcontrol="512"}
}