-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathNetScaler-CertExpiration.ps1
52 lines (43 loc) · 1.97 KB
/
NetScaler-CertExpiration.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
41
42
43
44
45
46
47
48
49
50
51
52
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
$CertResults = Get-NSSSLCertificate -session $Session | Where-Object {$_.certificatetype -contains "CLIENTANDSERVER_CERT"}
If ($CertResults.count -eq 0) {
$CertResults = Get-NSSSLCertificate -session $Session | Where-Object {$_.certificatetype -contains "SRVR_CERT"}
}
$FirstExpiration = 2000
foreach ($Result in $CertResults) {
If ($Result.daystoexpiration -lt $FirstExpiration) {$FirstExpiration=$Result.daystoexpiration}
}
Write-Host "<prtg>"
Write-Host "<result>"
Write-Host "<channel>Next Cert Expiration</channel>"
Write-Host ("<value>" + $FirstExpiration + "</value>")
Write-Host "<unit>Custom</unit>"
Write-Host "<CustomUnit>Days</CustomUnit>"
Write-Host "<LimitMode>1</LimitMode>"
Write-Host "<LimitMinWarning>30</LimitMinWarning>"
Write-Host "<LimitWarningMsg>Certificate expiration in less than 30 days</LimitWarningMsg>"
Write-Host "<LimitMinError>10</LimitMinError>"
Write-Host "<LimitErrorMsg>Certificate expiration in less than 10 days</LimitErrorMsg>"
Write-Host "</result>"
foreach ($Result in $CertResults) {
Write-Host "<result>"
Write-Host ("<channel>" + $Result.certkey + "</channel>")
Write-Host ("<value>" + $Result.daystoexpiration + "</value>")
Write-Host "<unit>Custom</unit>"
Write-Host "<CustomUnit>Days</CustomUnit>"
Write-Host "<LimitMode>1</LimitMode>"
Write-Host "<LimitMinWarning>30</LimitMinWarning>"
Write-Host "<LimitWarningMsg>Certificate expiration in less than 30 days</LimitWarningMsg>"
Write-Host "<LimitMinError>10</LimitMinError>"
Write-Host "<LimitErrorMsg>Certificate expiration in less than 10 days</LimitErrorMsg>"
Write-Host "</result>"
}
Write-Host "</prtg>"
Disconnect-Netscaler