Hier ein Script das ich mal geschrieben habe als Basis.
Hier hast Du auch die Möglichkeit den Shutdown aufzuhalten. Läuft CountDown.
Als Parameter kann man den Script auch den Grund des Runterfahrens nennen. (Wasserpumpen-Drehzahl, Temp etc.)
Starten kannst Du das Script mit "autoit v3" (Freeware kannste frei laden)
Wie gesagt ist ne Basis. musste mal bisschen mit rumspielen...
Script: notaus.au3
==============
; A simple custom messagebox that uses the MessageLoop mode
#include <GUIConstants.au3>
WinMinimizeAll ( )
$APPCOUNTDOWN = 15
$WINDOWSCOUNTDOWN = 15
$USER = "ECHOBEACH"
$windowheadertxt = IniRead("notaus.ini", "TEXT", "windowheadertxt", "Störung Kühlsystem/Temperatur")
;MsgBox(4096, "Result", $windowheadertxt)
$headlinetxt = IniRead("notaus.ini", "TEXT", "headlinetxt", "NOTAUS -- RECHNER WIRD AUSGESCHALTET!")
;MsgBox(4096, "Result", $headlinetxt)
$X = "messagetxt"
if( $CmdLine[0] == 1) Then
$X = $X & "_" & $CmdLine[1]
EndIf
$messagetxt = IniRead("notaus.ini", "TEXT", $X, "Notabschaltung wegen Fehler im Wasserkühlsystem. Durchfluss oder Drehzahl der Pumpe unzureichend oder Temperatur zu hoch. Aktion wurde ausgelöst durch 'hmonitor.exe'")
;MsgBox(4096, "Result", $messagetxt)
$APPCOUNTDOWN = IniRead("notaus.ini", "TIMER", "APPCOUNTDOWN", "15")
$WINDOWSCOUNTDOWN = IniRead("notaus.ini", "TIMER", "WINDOWSCOUNTDOWN", "10")
;MsgBox(4096, "X", $APPCOUNTDOWN & " -- " & $WINDOWSCOUNTDOWN )
$SHUTDOWNEXE = "ssshutdown -s -f -t " & $WINDOWSCOUNTDOWN & " -c " & '"' & $messagetxt & '"'
GUICreate( $windowheadertxt , 800, 600)
GUISetBkColor (0xE0FFFF)
$button1 = GUICtrlCreateButton ( "Rechner sofort kontrolliert ausschalten", 200,535,450,50)
GUICtrlSetFont ($button1, 16, 600)
GUICtrlSetColor($button1, 0x000000)
$Label1 = GUICtrlCreateLabel( $headlinetxt , 40, 40,720,50)
GUICtrlSetFont ($Label1, 20, 700)
GUICtrlSetColor($Label1, 0xff0000)
$Label2 = GUICtrlCreateLabel($messagetxt, 40,90,720,400)
GUICtrlSetFont ($Label2, 20, 300)
GUICtrlSetColor($Label2, 0x000000)
$Label4 = GUICtrlCreateLabel($APPCOUNTDOWN, 340,250,720,130)
GUICtrlSetFont ($Label4, 100, 800)
GUICtrlSetColor($Label4, 0xFF0000)
$Label5 = GUICtrlCreateLabel("Abbruch des Notaus durch den Befehl:", 40,440,720,50)
GUICtrlSetFont ($Label5, 16, 300)
GUICtrlSetColor($Label5, 0x000000)
$Label6 = GUICtrlCreateLabel("shutdown -a", 340,490,720,40)
GUICtrlSetFont ($Label6, 16, 300)
GUICtrlSetColor($Label6, 0x000000)
GUISetState(@SW_SHOW)
$begin = TimerInit()
While $APPCOUNTDOWN > 0
$msg = GUIGetMsg()
if $msg = $button1 Then
$WINDOWSCOUNTDOWN = 1
ExitLoop
endif
$dif = TimerDiff($begin)
if $dif > 1000 Then
$APPCOUNTDOWN= $APPCOUNTDOWN-1
GUICtrlSetData ($Label4 ,$APPCOUNTDOWN)
$begin = TimerInit()
endif
Wend
$COMMAND1 = IniRead("notaus.ini", "PRECOMMANDS", "COMMAND1", "")
if $COMMAND1 Then
;MsgBox(4096, "$COMMAND1", $COMMAND1 )
EndIf
Run( "cmd" )
RunWait ( $SHUTDOWNEXE )
Sleep( $WINDOWSCOUNTDOWN * 1000 - 1000)
Func HideALL()
MsgBox(0, "AutoIt Example", "Inside TestFunc1()")
EndFunc
INI-FILE: notaus.ini
======
[TEXT]
windowheadertxt = Störung Kühlsystem/Temperatur
headlinetxt = NOTAUS - RECHNER WIRD AUSGESCHALTET!
#### Allgemeine Message wenn kein Parameter mitgegeben
messagetxt = Notabschaltung wegen Fehler im (Wasser)Kühlsystem. Durchfluss oder Drehzahl der Pumpe unzureichend. Aktion wurde ausgelöst durch 'hmonitor.exe'.
#### 1 --> Störung Wasserdurchfluss / Parameter 1 == 1
messagetxt_1 = Wasserdurchfluss im System unzureichend. Notabschaltung. Aktion wurde ausgelöst durch 'hmonitor.exe'.
#### 2 --> Störung Drehzahl Pumpe / Parameter 1 == 2
messagetxt_2 = Drehzahl der Wasserpumpe unzureichend. Notabschaltung. Aktion wurde ausgelöst durch 'hmonitor.exe'.
#### 3 --> Störung Temperatur GraKa / Parameter 1 == 3
messagetxt_3 = Notabschaltung wegen Fehler im Kühlsystem. Temperatur der Grafikkarte zu hoch. Aktion wurde ausgelöst durch 'hmonitor.exe'.
#### 4 --> Störung Temperatur CPU / Parameter 1 == 4
messagetxt_4 = Notabschaltung wegen Fehler im Kühlsystem. Temperatur des Prozessors zu hoch. Aktion wurde ausgelöst durch 'hmonitor.exe'.
#### 4 --> Störung XXX / Parameter 1 == 5
messagetxt_5 = Notabschaltung. Unbekannte Ursache. Aktion wurde ausgelöst durch 'hmonitor.exe'.
[TIMER]
APPCOUNTDOWN = 100
WINDOWSCOUNTDOWN = 100
[PRECOMMANDS]
COMMAND1 =