basti19885 10 Geschrieben 18. April 2011 Melden Geschrieben 18. April 2011 Hallo und guten morgen. Ich hab hier ein kleines Powershell-script, was prüfen soll ob ein dienst läuft oder eben nicht. Soweit sogut. Wenn ich das ganze in der Powershell ausführe verhält es sich wie gewünscht. # Prüft ob dienst läuft # Idee: http://stackoverflow.com/questions/353161/how-to-test-whether-a-service-is-running-from-the-command-line # Create: 2011-04-13 $serviceName = "Dienstname"; $serviceStatus = (get-service "$serviceName").Status; $hostname = hostname; function Pause ($Message="Press any key to continue...") { Write-Host -NoNewLine $Message $null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") Write-Host "" } $date = Get-Date -format yyyy-MM-dd $time = Get-Date -format HH:mm:ss if ($serviceStatus -eq "Running") { echo "Service is Running on $hostname"; } else { #Could be Stopped, Stopping, Paused, or even Starting... echo "Service is $serviceStatus"; C:\path\to\blat.exe -body "Service is $serviceStatus $date $time" -server 192.168.xxx.xxx -to admin@example -f admin@example -s "$hostname $serviceName is $serviceStatus"; } #Pause # Test AufgabenPlanung Command # old: powershell.exe -command "& 'C:\path\to\check_daemon.ps1' " => gleiches fehlverhalten (mailversand) # new: powershell.exe -file C:\path\to\check_daemon.ps1 Selbst aus der cmd mittels powershell.exe -file C:\path\to\check_daemon.ps1 läufts fehlerfrei. Wenn ich aber nun das ganze in die Aufgabenplanung aufnehme wird mir auch eine Mail geschickt, wenn der Service läuft. Das ganze sieht dann so aus: Service is 2011-04-18 07:55:00 Aufgerufen wird das ganze in der Aufgabenpalnung via powershell.exe -file C:\path\to\check_daemon.ps1 [list] [*]Unabhäning von Benutzeranmeldung [*]Konfiguriert für Vista/ Server 2008 [*] BS = Server 2008R2 [/list] Hat dazu vielleicht jemand ne idee? Zitieren
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.