Dienstag, 28. Januar 2014

Remote Shutdown

Heute wollte ich ganz "Intelent" sein und meinen Sohn daran erinnern das er noch für die Schule lernen soll. Da er lieber am Computer sitzt, wollte ich seinen Computer mit einem entsprechenden Hinweis runter fahren.
Ich [Win] + [R] gedrückt und in die Suche "shutdown /i" ein gegeben.

Hier über Hinzufügen den Computer raus gesucht und im Kommentarfeld "Bitte Lernen nicht vergessen!" eingegeben.

Und dann kam der kleine Osmane mit: "Hier kummst du net rein!"

Egal was ich es angestellt habe, der Computer war nicht dazu zu bewegen runter zu fahren. Wir sind im selben Netz, beide haben Win 7 Pro auf den Kisten und in beiden bin ich als Admin eingetragen.









shutdown.exe [-l | -s | -r | -a] [-f] [-m Computer] [-t xx] [-c "blah"]

-i … Zeigt eine grafische Benutzeroberfläche an.
-l … Abmelden (nicht mit der Option -m zu verwenden).
-s … Herunterfahren.
-r … Neustart.
-a … Bricht das Herunterfahren des Computers ab.
-m Computer … Remotecomputer zum Herunterfahren/Neustarten/Abbrechen.
-t xx … Beginnt Herunterfahren/Neustart in xx Sekunden.
-c “blah” … Kommentar für das Herunterfahren.
-f … Erzwingt das Schließen ausgeführter Anwendungen ohne Warnung.

Also bin ich der Sache auf den Grund gegangen.
1. Unter Windows 7 funktioniert das nur noch für Domänen-Mitglieder
2. Es muss der Remoteregistrierungsdienst auf dem Remotecomputer aktiviert sein
3. Der Versuch, einen Arbeitsgruppen-PC herunterzufahren, scheitert zunächst trotz passender Anmeldeinformationen mit „Zugriff verweigert“
4. Selbst per Befehl mit cmdkey /add:RECHNERNAME /user:RECHNERNAME\Administrator /pass:************ oder GUI Systemsteuerung\Alle Systemsteuerungselemente\Anmeldeinformationsverwaltung und dann auf Windows-Anmeldeinformationen hinzufügen geht es nicht.

Schuld ist die UAC (User Account Control)
Zwar funktionieren die am lokalen Rechner die für shutdown.exe notwendigen Privilegien ohne Sicheren Desktop, so dass man als Benutzer visuell nichts davon mitbekommt. Beim Zugriff über das Netz wird sie jedoch herausgefiltert.
Für Nicht-Domänen-Mitglieder muss man deshalb den UAC-Filter für die Windows-Fernwartung abschalten, dann funktioniert auch der Remote-Shutdown wieder. Das gilt nicht nur für shutdown.exe, sondern auch für die PowerShell-Cmdlets Stop-Computer und Restart-Computer.

Abhilfe schafft der Eintrag eines Schlüssels in die Registrierdatenbank des verwalteten PCs, so dass die Rechte des lokalen Admins auch über das Netz durchgereicht werden. Dazu gibt man am einfachsten in einer Eingabeaufforderung mit Adminstratorrechten den Befehl ein -

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f


- oder erstellt im Registriereditor an dieser Stelle von Hand einen Schlüssel (32-Bit DWORD) namens LocalAccountTokenFilterPolicy mit dem Wert 1.