Batch bzw Software die regelmäßig prüft ob ein bestimmter Prozess läuft oder nicht
Hallo zusammen,
ich bräuchte eine Batch/software die in regelmäßigen Abständen (bspw. 1x am Tag) prüft ob ein bestimmtes Programm (Prozess) aktiv ist oder nicht.
Falls nicht, sollte die Software die Nutzer am Besten per Mail darüber informieren.
Hätte hier jemand eine Idee?
Grüße
ich bräuchte eine Batch/software die in regelmäßigen Abständen (bspw. 1x am Tag) prüft ob ein bestimmtes Programm (Prozess) aktiv ist oder nicht.
Falls nicht, sollte die Software die Nutzer am Besten per Mail darüber informieren.
Hätte hier jemand eine Idee?
Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 286223
Url: https://administrator.de/forum/batch-bzw-software-die-regelmaessig-prueft-ob-ein-bestimmter-prozess-laeuft-oder-nicht-286223.html
Ausgedruckt am: 15.05.2025 um 04:05 Uhr
6 Kommentare
Neuester Kommentar
Trigger ein Powershell Script via Job was den Process prüft und dann via Mail eine Information verschickt:
Beispiel(mit Anpassungsbedarf):
Ungetestet da meine PS-VM abgeschottet ist.
Beispiel(mit Anpassungsbedarf):
$proc = Get-Process | Where-Object {$_.ProcessName -eq "Notepad.exe"}
if ($proc -imatch 'Notepad.exe')
{
'Notepad ist aktiv - nix zu tun'
}
else
{
$SmtpClient = new-object system.net.mail.smtpClient
$MailMessage = New-Object system.net.mail.mailmessage
$SmtpClient.Host = "Exchange.DOMAIN-Struktur"
$mailmessage.from = "mail-von@unternehmen.de"
$mailmessage.To.add("mail-an@unternehmen.de")
$mailmessage.Subject = “Betreff der Nachricht”
$MailMessage.IsBodyHtml = $false
$mailmessage.Body = "Notepad ist nicht aktiv!!"
$smtpclient.Send($mailmessage)
}
Ungetestet da meine PS-VM abgeschottet ist.
Geht bei mir mit der Anpassung unten.
Füg in den Zweig wo dein Programm xyz nicht läuft den Block für den Mailversand ein und teste es erneut.
Füg in den Zweig wo dein Programm xyz nicht läuft den Block für den Mailversand ein und teste es erneut.
$proc = get-process notepad | select -property Responding
if ($proc.Responding -match 'True')
{
write-host "Notepad ist aktiv - nix zu tun"
}
else
{
write-Host "Notepad ist nicht aktiv - Mail wird versendet!"
}

Moin,
@H41mSh1C0R
get-process gibt einen Fehler zurück wenn es den Process nicht findet, dann ist das Objekt $null und dein if fährt dann ebenfalls gegen die Wand.
Gruß grexit
@H41mSh1C0R
get-process gibt einen Fehler zurück wenn es den Process nicht findet, dann ist das Objekt $null und dein if fährt dann ebenfalls gegen die Wand.
if((get-process notepad -EA SilentlyContinue)){
write-host 'Prozess aktiv'
}else{
write-host 'Prozess nicht aktiv'
}

da sich ja aus sicherheitsgründen nur der editor öffnet :/
Powershell Anfänger so wie ich das sehe ...Les dir mal dieses Kommentar durch wie man PS -Skripte über den Taskplaner startet !
Ab dem Topic "Starten von PS-Scripten in der Aufgabenplanung (Taskplaner)": Anleitung: Wie starte ich Powershell-Scripte