mf
Goto Top

Powershell - Admin - Aufforderung an User den Rechner neu zu starten

Hallo zusammen.

Gibt es eine Möglichkeit eine Art Aufgabe an (alle) angemeldete(n) User zu senden, dass der Rechner einmal neu gestartet werden muss.

Man kann den Reboot natürlich auch Forcen, aber dies hätte zur Folge, dass gfls nicht gespeicherte Dinge verloren gingen.

Sobald der Reboot erfolgt sind, soll die Meldung nicht mehr anzeigt werden. Also auch nicht für User, welche zu dem Zeitpunkt die bisherige Meldung nicht gesehen haben.

Danke
markus

Content-ID: 669930

Url: https://administrator.de/forum/powershell-admin-aufforderung-an-user-den-rechner-neu-zu-starten-669930.html

Printed on: January 13, 2025 at 11:01 o'clock

151081
151081 Dec 03, 2024 at 09:41:58 (UTC)
Goto Top
Crusher79
Crusher79 Dec 03, 2024 at 09:57:55 (UTC)
Goto Top
mf
mf Dec 03, 2024 at 10:15:42 (UTC)
Goto Top
Schaue ich mir an. Danke euch.
Felix0201
Felix0201 Dec 03, 2024 at 16:15:51 (UTC)
Goto Top
# Nachricht an alle Benutzer senden
msg * /server:[COMPUTER-NAME] "<deine_Nachricht>"  


$computer = @("PC_01", "PC_02", "PC_03")  
$nachricht = "Bitte PC Neustarten!"  

foreach ($computer in $computers) {
       try {
            msg * /server:$computer $nachricht
            write-host "Nachricht an $computer gesendet."  
       } catch {
            write-host "Fehler beim Senden an $computer : $_"  
       }
}

Sollte eigentlich funktionieren face-smile
mf
mf Dec 03, 2024 at 23:15:23 (UTC)
Goto Top
Zitat von @Felix0201:
Sollte eigentlich funktionieren face-smile

Das kann ich leider so nicht verwenden. Die Computer werden aus der Ferne verwaltet. Ich kann nur einen Command (Powershell -Script) auf die Geräte pushen, der dann dort ausgeführt wird.
mf
mf Dec 03, 2024 at 23:18:47 (UTC)
Goto Top

Das klappt super, wenn ich das Script als ps1 lokal ausführe und laufen lasse.

Wird es von Remote über einen Agent auf den Rechner geschoben wird es offenbar als SYSTEM ausgeführt.

Dann bekomme ich diese Meldung.

Exception calling "Show" with "1" argument(s): "Access is denied. (Exception from HRESULT: 0x8007  
0005 
(E_ACCESSDENIED))"  

Dazu habe ich auch diverse alternativen Ansätze gefunden, die immer wieder auf die gleiche Beschränkung führen.

Ich habe auch schon versucht den Filecontent zu pushen und das File ausführen. Aber auch hier, aufgrund des SYSTEM users, kann ich keine Toasts erstellen. Ich suchen morgen / heute/später nochmal weiter, ob es da eine Lösung gibt.
151081
151081 Dec 04, 2024 updated at 06:51:49 (UTC)
Goto Top
Impersonation heißt das Stichwort, damit kann man sich das Token von angemeldeten Usern greifen und auf die GUI Session von diesem auch per SYSTEM zugreifen
Powershell: Aufgabe im Hintergrund MsgBox in Vordergrund
Ansonsten eben einen Scheduled Task pushen mit der Einstellung "Nur ausführen wenn angemeldet" und eine Gruppe der User als Principal hinterlegen für die die Meldung angezeigt werden soll.
mf
mf Dec 06, 2024 at 09:45:28 (UTC)
Goto Top
Dies habe ich noch in den Weiten des Internets gefunden. Dies ist genau was ich brauche.

https://www.cyberdrain.com/monitoring-with-powershell-notifying-users-of ...

Sobald ich aber Teile aus diesem Code nehmen will, klappt es nicht mehr. Standalone klappt auch dieser Code bis auf die Toast Benachrichtigung. Keine Ahnung wo da mein Denkfehler ist...