-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathNetScaler-LBvServer-State.ps1
40 lines (32 loc) · 1.16 KB
/
NetScaler-LBvServer-State.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Param(
[string]$Nsip,
[string]$Username,
[string]$Password
)
$SecurePassword = ConvertTo-SecureString $Password -AsPlainText -Force
$Credential = New-Object System.Management.Automation.PSCredential ($Username, $SecurePassword)
$Session = Connect-Netscaler -Hostname $Nsip -Credential $Credential -PassThru
$vServerResults = Get-NSLBVirtualServer -session $Session
Write-Host "<prtg>"
foreach ($Result in $vServerResults) {
switch ($Result.curstate)
{
"UP" {$CurState = 1}
"DOWN" {$CurState = 2}
"OUT OF SERVICE" {$CurState = 3}
}
Write-Host "<result>"
Write-Host ("<channel>State:" + $Result.name + "</channel>")
Write-Host ("<value>" + $CurState + "</value>")
Write-Host "<unit>Custom</unit>"
Write-Host "<CustomUnit>Status</CustomUnit>"
Write-Host "<valuelookup>prtg.networklookups.REST.NetscalerVserverStatus</valuelookup>"
Write-Host "</result>"
Write-Host "<result>"
Write-Host ("<channel>Health: " + $Result.name + "</channel>")
Write-Host ("<value>" + $Result.health + "</value>")
Write-Host "<unit>Percent</unit>"
Write-Host "</result>"
}
Write-Host "</prtg>"
Disconnect-Netscaler