basti19885 10 Geschrieben 18. April 2011 Melden Teilen 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 Link zu diesem Kommentar
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.