djfflow
Goto Top

Powershell Shutdown mit User Interaktion

Hallo,

ich möchte per Powershell alle Computer die zur Laufzeit des Skripts noch an sind herunterfahren.
Aber der Benutzer, falls noch jemand angemeldet ist, soll vorher gefragt werden, ob der PC tatsächlich heruntergefahren werden soll, bzw das Herunterfahren abbrechen können. Wenn keine Reaktion vom Benutzer kommt soll der PC runtergefahren werden.
Das Skirpt soll zentral auf einem Server laufen und von dort die PC herunterfahren.
Ich habe alle Teile soweit fertig aber leider weiß ich nicht, wie ich es hinbekomme, dass der User den Vorgang abbrechen kann bzw gefragt wird ob er herunterfahren will.
Folgende Teile sind umgesetzt:
Das Aulesen der PCs aus einer AD OU.
Prüfen ob die PCs an sind.
Prüfen ob jemand angemeldet ist.
Fenster mit Timeout und Ja / Nein Schaltfläche.

Aber wie kann ich vom Server dem angemeldeten PC-Benutzer das Fenster unterschieben?

Content-Key: 276747

Url: https://administrator.de/contentid/276747

Printed on: April 25, 2024 at 19:04 o'clock

Mitglied: 114757
114757 Jul 08, 2015 updated at 15:52:09 (UTC)
Goto Top
Moin,
erstell auf den Clients einen Scheduled-Task der im Userkontext läuft und den du dann via Script remote antriggerst:
https://technet.microsoft.com/en-us/library/jj649818(v=wps.630).aspx
In den Task baust du dann deinen Abfrage-Dialog ein (VBS/Powershell), der je nach Antwort oder Timeout den Rechner runterfährt.

So ein Dialog lässt sich z.B. mit Powershell sehr einfach realisieren und komplett in den Task einbauen:
powershell -ExecutionPolicy ByPass -Command "if((New-Object -Com Wscript.Shell).Popup('Ihr Computer wird in wenigen Minuten heruntergefahren, möchten sie den Shutdown abbrechen?',10,'Geplantes herunterfahren',36) -match '7|-1'){shutdown /s /f /t 0}"  

Aber wozu der Aufwand mit dem extra Script wenn du diese Tasks ziemlich einfach via GPO an die entsprechende OU pushen kannst...solltest du mal eine bestimmte Zeit wünschen die vom Standard des Tasks abweicht kannst du die Tasks ja ebenfalls von Remote aus triggern.

Gruß jodel32