PRTG Übergabe Fehler aus Powershell
Hallo zusammen,
ich möchte gerne eigene Powershell-Skripte verwenden, um einen Fehler zurückzugeben.
Ich möchte in meinem Fall prüfen, ob die Exchange-Datenbank im Status "Mounted" ist. Wenn nicht -> Fehler.
Hier der Code:
Wenn ich das Skript so am PRTG-Probe-Server ausführe, bekomme ich ein Ergebnis. Sobald ich jedoch einen Sensor anlege, kommt bei PRTG kein Code an. Sensor ist grün.
Wenn ich als Beispiel folgenden Code verwende, wird der Wert korrekt übergeben:
Hat jemand eine Idee?
ich möchte gerne eigene Powershell-Skripte verwenden, um einen Fehler zurückzugeben.
Ich möchte in meinem Fall prüfen, ob die Exchange-Datenbank im Status "Mounted" ist. Wenn nicht -> Fehler.
Hier der Code:
cls
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
Get-MailboxDatabase -Identity MBX-0001 -Status| select name, mounted | ForEach-Object {If ($_.Mounted -match "True")
{
$Result = 0
}
if ($_.Mounted -match "False")
{
$Result = 2
}
}
"<prtg>"
"<result>"
"<channel>Demo Minimum Example</channel>"
"<value>$Result</value>"
"</result>"
"</prtg>"
Wenn ich als Beispiel folgenden Code verwende, wird der Wert korrekt übergeben:
"<prtg>"
"<result>"
"<channel>Demo Minimum Example</channel>"
"<value>2</value>"
"</result>"
"</prtg>"
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Dani am 05.02.2015 um 23:19:49 Uhr
Formatierung hinzugefügt.
Content-ID: 262377
Url: https://administrator.de/contentid/262377
Ausgedruckt am: 22.11.2024 um 04:11 Uhr
2 Kommentare
Neuester Kommentar
Guten Abend,
du gehst aus meiner Sicht die Sache falsch an.
Ich habe deine Vorgabe mit einem meiner Skripte angepasst:
Hab allerdings keinen Exchange zur Hand um mir die Ausgabe anzusehen. Bei Select-Object kannst du definieren, was du alles ausgeben möchtest.
Gruß,
Dani
du gehst aus meiner Sicht die Sache falsch an.
Ich habe deine Vorgabe mit einem meiner Skripte angepasst:
Clear-Host
$strDervice=$args
$Result = Invoke-Command -Computername $DEVICE -ScriptBlock {
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010;
Get-MailboxDatabase -Identity MBX-0001 -Status| select name, mounted
}
"<prtg>"
"<result>"
"<channel>"
"Demo Minimum Example"
"</channel>"
"<value>"
echo $Result | Select-Object ....
"</value>"
"</result>"
"</prtg>
Gruß,
Dani
Hallo Dschingis,
genau für deinen Fall gibt es einen eingebauten Sensor ('Exchange Database (Powershell) sensor') der unter anderem diesen Channel zurückliefert (inkl. down-limit).
Ansonsten ist an Deinem Script nichts auffälliges zu sehen, aber geh zur Sicherheit die API-Doku unter <prtg-url>/api.htm?tabid=7 nochmal durch. Wenn Dir das nicht weiterhilft, kannst Du gerne unseren Support kontaktieren (support@paessler.com).
Viele Grüße
Flo
genau für deinen Fall gibt es einen eingebauten Sensor ('Exchange Database (Powershell) sensor') der unter anderem diesen Channel zurückliefert (inkl. down-limit).
Ansonsten ist an Deinem Script nichts auffälliges zu sehen, aber geh zur Sicherheit die API-Doku unter <prtg-url>/api.htm?tabid=7 nochmal durch. Wenn Dir das nicht weiterhilft, kannst Du gerne unseren Support kontaktieren (support@paessler.com).
Viele Grüße
Flo