PRTG API | Pausieren, Fortfahren, Bestätigen
Posted on: 30. Mai 2019Alle 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 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.