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?
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?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 276747
Url: https://administrator.de/forum/powershell-shutdown-mit-user-interaktion-276747.html
Ausgedruckt am: 22.12.2024 um 12:12 Uhr
1 Kommentar
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:
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
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