Frage zu Skript - Wie funktioniert?
Hallo Leute,
kann mir jemand sagen wie das Script funktioniert?
Ansich ist das ja ganz nützlich aber ich bekomme es nicht zum laufen.
Gruß
Heiko
kann mir jemand sagen wie das Script funktioniert?
Ansich ist das ja ganz nützlich aber ich bekomme es nicht zum laufen.
if (((Get-ChildItem "\\server\path").count) -gt 1) {
if (Test-Path "c:\temp\process-chk.log") {
$previous_value = Get-Content "c:\temp\process-chk.log"
}
$new_value = Get-WmiObject Win32_Process -ComputerName "." | `
where {$_.Name -eq 'Programm.exe'} | `
foreach {"$($_.WriteTransferCount)"}
if ($new_value -ne $previous_value) {
Write-Host "Process OK"
}
else {
$message_success = "The process on the server is frozen."
$emailFrom = "support@mail.domain.local"
$emailTo = "'support@mail.domain.local','johndoe@mail.domain.local'"
$subject = "PROBLEM : SERVER PROCESS NAME FROZEN"
$smtpServer = "smtp_default"
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($emailFrom, $emailTo, $subject, $message_success)
}
$new_value | Out-File "c:\temp\process-chk.log" -Force
}
Gruß
Heiko
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 269907
Url: https://administrator.de/forum/frage-zu-skript-wie-funktioniert-269907.html
Ausgedruckt am: 09.04.2025 um 11:04 Uhr
3 Kommentare
Neuester Kommentar

Moin,
Wenn es mehr als 1 Datei im Verzeichnis \\Server\path gibt dann:
Gruß jodel32
kann mir jemand sagen wie das Script funktioniert?
Also ausgeschrieben etwa so:Wenn es mehr als 1 Datei im Verzeichnis \\Server\path gibt dann:
- Wenn die Datei c:\temp\process-chk.log existiert, lese den Wert in die Variable $previous_value
- Speichere den Wert der Eigenschaft WriteTransferCount des Prozesses Programm.exe vom lokalen Computer in der Variablen $new_value
- Wenn der Wert von $new_value nicht gleich dem vorherigen Wert in $previous_value ist dann ist das Programm in Ordnung, ansonsten schicke eine Mail das der Prozess nicht mehr reagiert.
Gruß jodel32

Zitat von @pixel0815:
Verrückt. Ich dachte das wäre ein Skript um per Powershell auf einem Remotehost einen Prozess zu überwachen ob
dieser Hängt oder nicht
Das geht damit ja auch, indem du anstatt dem Punkt bei -Computername "." den Computernamen oder die IP des Remote-Hosts einträgst.Verrückt. Ich dachte das wäre ein Skript um per Powershell auf einem Remotehost einen Prozess zu überwachen ob
dieser Hängt oder nicht
Vorausgesetzt die Remoteverwaltung des Remotehosts ist erlaubt.
Das Script ist aber speziell auf die eine Eigenschaft ausgelegt, also wieviel Daten sie bewegt..