In Workgroups oder Zuhause ist es oft mühselig (bei den Home Editions über die GUI gar nicht möglich) das Ablaufen von Passwörtern zu deaktivieren. Neulich hatte ich das Problem, dass 20 Notebooks in einem Schulungscenter mit drei lokalen Benutzern mit ablaufenden Passwörter zu kämpfen hatten. Daher habe ich ein Script geschrieben um die Konfiguration zu automatisieren.
Eigentlich reicht es einfach das Script mit erhöhten Admin-Rechten aus zu führen. ich habe aber noch eine Möglichkeit eingebaut Accounts von dieser Änderung aus zu schließen. Diese müssen dazu lediglich in Zeile 7 eingetragen werden.
set account-filter=administrator gast guest Default
Das Script funktioniert mit Windows 7 aufwärts (darunter habe ich es nicht getestet) und ist als einfache Batch realisiert.
@echo off :: Set-PasswordWillNeverExpire.cmd set alog-unicode=%temp%\local-accounts-unicode.txt set alog-ansi=%temp%\local-accounts-ansi.txt set account-filter=gast guest Default set alog-ansi-2beSet=%temp%\local-accounts-2beSet.txt echo. echo !!! Run this script as Administrator !!! echo. :: get local user accounts from wmi as unicode WMIC USERACCOUNT WHERE LocalAccount='true' GET Name >%alog-unicode% :: convert unicode to ansi type %alog-unicode% >%alog-ansi% :: excluding some accounts for /f "tokens=1,* skip=1 delims= " %%a in (%alog-ansi%) do ( echo %%a | findstr /v /i "%account-filter%" >>%alog-ansi-2beSet% ) :: setting remaining accounts to never expire for /f "tokens=1" %%a in (%alog-ansi-2beSet%) do ( WMIC USERACCOUNT WHERE "Name='%%a'" SET PasswordExpires=FALSE ) del %alog-unicode% del %alog-ansi% del %alog-ansi-2beSet%
Hier noch ein paar Hinweise zum Script:
Das Auslesen der Benutzer über das WMI erzeugt erst einmal eine Datei im Unicode Format. Mit dieser kann FOR aber nichts anfangen, wir müssen diese also nach ANSI konvertieren. Das geschieht mit einem einfachen TYPE .
type UNICODE-DATEI > ANSI-DATEI
Am Ende des Scripts werden alle erstellten Dateien wieder gelöscht, wer diese zur Dokumentation behalten will kann einfach die letzten drei Zeilen mit einem :: oder REM versehen und findet diese dann unter %TEMP%\NAME-DER-LOGDATEI.EXT.
:: del %alog-unicode% :: del %alog-ansi% :: del %alog-ansi-2beSet%
Enjoy it, b!
Pingback: Windows 10 Home, Password will never expire … | Windows SBS and Essentials Blog