PRTG API | Pausieren, Fortfahren, Bestätigen

Posted on: 30. Mai 2019
Alle Infos die du brauchst um das Video erfolgreich umzusetzen:
Bestimmte Sensoren mit nur einem Wort pausieren, fortfahren, oder bestätigen?
Endlich wirst du mit diesem spannenden, kreativen Video, in der Lage sein, Sensoren;
– zu bestätigen mit einem Infotext
– zu pausieren mit einem Infotext
– fortzufahren

Wir sind offen und gespannt auf deine Anregungen: Input-Formular
Am einfachsten schaust du das Video und hast dazu diesen Code offen. So kannst du auch den Code in deiner gewünschten Grösse darstellen und kannst dem Video einfacher folgen.
——————————————–
param(            
[parameter(Mandatory=$true)][string]$pareack # jeweilige Funktion ansteuern            
            
)            
            
$benutzer = "Benutzername" # Credentials hinterlegen            
$passhash = "dein Passhash"            
            
$lhuri = "http://127.0.0.1" # URI von PRTG Core Server            
            
function invoke-PRTGsenpausieren { # Funktion erstellen zum pausieren            
param(            
[parameter(Mandatory=$true)][int]$objektid,            
[parameter(Mandatory=$true)][int]$dauer,            
[parameter(Mandatory=$false)][string]$nachricht            
            
)            
            
[string]$sensorpausierenuri = "$lhuri/api/pauseobjectfor.htm?id=$objektid&pausemsg=$nachricht&duration=15&username=$benutzer&passhash=$passhash" # URI zum pausieren            
Invoke-RestMethod -uri $sensorpausierenuri # Rest-Schnittstellen-Aufruf            
            
}            
            
function invoke-PRTGsenfortfahren { # Funktion erstellen zum fortfahren            
param(            
[parameter(Mandatory=$true)][int]$objektid            
            
)            
            
[string]$sensorfortfahrenuri = "$lhuri/api/pause.htm?id=$objektid&action=1&username=$benutzer&passhash=$passhash" # URI zum fortfahren            
Invoke-RestMethod -uri $sensorfortfahrenuri            
            
}            
            
function invoke-PRTGsenacknowledge { # Funktion erstellen zum bestätigen            
param(            
[parameter(Mandatory=$true)][int]$objektid,            
[parameter(Mandatory=$false)][string]$nachricht            
            
)            
            
[string]$sensoracknowledgeuri = "$lhuri/api/acknowledgealarm.htm?id=$objektid&ackmsg=$nachricht&username=$benutzer&passhash=$passhash" # URI zum bestätigen            
Invoke-RestMethod -uri $sensoracknowledgeuri            
            
}            
            
            
$allesensoren = "$lhuri/api/table.json?content=sensors&output=json&columns=objid,probe,group,device,sensor,status,message,lastvalue,priority,favorite&count=2000&username=$benutzer&passhash=$passhash" # Alle Sensoren URI bis zu 2000 Objekte            
            
$resultat = Invoke-RestMethod -uri $allesensoren # Alle Sensoren holen            
            
$httpsensorenid = ($resultat.sensors | Where-Object {$_.sensor -eq "http"}).objid # Filtern nach HTTP Sensor-Namen & die Objekt-ID ausgeben            
            
            
switch( # Switch-Funktion            
$pareack # Parameter von Zeile 2            
){            
fortfahren { # Wenn String fortfahren lautet            
    foreach($obj in $httpsensorenid){ # Für jedes HTTP-Objekt mittels Objekt-ID            
    try{            
    invoke-PRTGsenfortfahren -objektid $obj # Sensor fortfahren            
    }catch{            
    write-host "fortfahren war nicht möglich wegen Fehler $($error[-1])" -ForegroundColor Yellow # Abfangen von Exceptions            
    }            
    }            
            
}            
            
pausieren { # Wenn String pausieren lautet            
    foreach($obj in $httpsensorenid){ # Für jedes HTTP-Objekt mittels Objekt-ID            
    try{            
    invoke-PRTGsenpausieren -objektid $obj -dauer 15 -nachricht "germanpowershell test" # Sensor pausieren            
    }            
    catch{            
    write-host "pausieren war nicht möglich wegen Fehler $($error[-1])" -ForegroundColor Yellow # Abfangen von Exceptions            
    }            
    }            
            
}            
            
acknowledge { # Wenn String acknowledge lautet            
    foreach($obj in $httpsensorenid){ # Für jedes HTTP-Objekt mittels Objekt-ID            
    try{            
    invoke-PRTGsenacknowledge -objektid $obj -nachricht "germanpowershell" # Sensor bestätigen            
    }catch{            
    write-host "Bestaetigen war nicht möglich wegen Fehler $($error[-1])" -ForegroundColor Yellow # Abfangen von Exceptions            
    }            
    }            
            
}            
            
} #ende von switch            
——————————————–
Hat dir das Video gefallen und etwas gebracht, dann freuen wir uns immer auf dein Feedback. Daumen nach oben, Kommentar und Abo sind geeignete Mittel um das auszudrücken. Falls du kannst, mache doch auch deine Kollegen auf unseren Kanal aufmerksam. Denn so wachsen wir zusammen stetig weiter und das freut uns alle. Win-Win-Win.
Falls du spezielle Anforderungen an Scripts oder Auftragsarbeiten hast, kannst du mich gerne direkt per Email erreichen. Alle Infos dazu sind hier Kontakt
Ich hoffe du verstehst, dass ich nur Videos zu Themen machen kann, die ein grösseres Interesse von verschiedenen Leuten haben. Benutzerspezifische Scripts erstelle ich ausschliesslich als Auftragsarbeiten oder im Mandat.

Da wir sämtliche Videos kostenlos zur Verfügung stellen und auch keine Werbung reinpacken, sind wir immer froh für eine kleine Spende. Vielen Dank bereits dafür.