Autologon-Skript: zwei Fehler behoben, die Erfolg meldeten wo keiner war
Der erste Lauf hat NICHTS eingerichtet — weder Auto-Logon noch die
Sperr-Aufgabe. Nachgeprueft: AutoAdminLogon, DefaultUserName und
OilAutoLogonLock allesamt nicht vorhanden.
(1) $ErrorActionPreference = 'Stop' PLUS schtasks /Delete auf eine noch nicht
existierende Aufgabe: native Programme schreiben nach stderr, PowerShell
macht daraus unter 'Stop' einen Abbruch. Das Skript endete, BEVOR /Create
lief. Jetzt wird vorher per /Query geprueft.
(2) Die Erfolgsmeldung log: ein fehlendes DefaultPassword wurde als
"LSA-Secret ✅" ausgegeben — dabei war gar nichts gesetzt, weil der
Autologon-Dialog ohne Enable geschlossen wurde. Abwesenheit eines
Klartext-Passworts beweist nicht, dass der sichere Weg genommen wurde; sie
ist auch mit "nichts passiert" vereinbar. Jetzt ist AutoAdminLogon = 1 die
Bedingung, und erst danach wird ueber die Speicherart geurteilt. Ohne
aktives Auto-Logon bricht das Skript mit Code 1 ab und ueberspringt
Schritt 2.
Dazu ein Design-Fehler, der erst beim Nachdenken auffiel: die Sperre haette bei
JEDER Anmeldung gefeuert — ein ONLOGON-Trigger unterscheidet nicht zwischen
Auto-Logon und manuellem Login. 30 s nach jedem normalen Anmelden waere der
Bildschirm zugefallen. Neu: tools/autologon_lock.ps1 prueft die Systemlaufzeit
und sperrt nur, wenn der Rechner < 3 min laeuft (= Auto-Logon nach Boot).
Trocken getestet: bei 1088 min Laufzeit -> sperrt nicht.
Beide .ps1 mit BOM geschrieben und mit dem echten 5.1-Parser gegengeprueft
(0 Fehler). check_nfalle.py Stufe C2 deckt alle drei Skripte ab.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
da863371d3
commit
eccc13f2cf
@@ -0,0 +1,19 @@
|
||||
# Sperrt den Bildschirm — aber NUR nach einem Auto-Logon, nicht nach einer
|
||||
# manuellen Anmeldung.
|
||||
#
|
||||
# ⚠ WARUM DIE UNTERSCHEIDUNG: ein Task mit ONLOGON-Trigger feuert bei JEDER
|
||||
# Anmeldung. Ohne diese Pruefung wuerde der Bildschirm auch 30 s nach jedem
|
||||
# normalen Login zufallen — eine taegliche Schikane fuer ein Problem, das nur
|
||||
# nach einem unbeaufsichtigten Reboot besteht.
|
||||
#
|
||||
# Unterscheidungsmerkmal: ein Auto-Logon passiert unmittelbar nach dem Boot.
|
||||
# Liegt der Systemstart laenger zurueck, hat sich ein Mensch angemeldet —
|
||||
# dann wird nicht gesperrt.
|
||||
|
||||
$grenzeMin = 3
|
||||
$boot = (Get-CimInstance Win32_OperatingSystem).LastBootUpTime
|
||||
$seitBootMin = ((Get-Date) - $boot).TotalMinutes
|
||||
|
||||
if ($seitBootMin -lt $grenzeMin) {
|
||||
rundll32.exe user32.dll,LockWorkStation
|
||||
}
|
||||
Reference in New Issue
Block a user