update
This commit is contained in:
75
NRPE/Check_iis8_site.ps1
Normal file
75
NRPE/Check_iis8_site.ps1
Normal file
@ -0,0 +1,75 @@
|
||||
<#
|
||||
Ester Niclos Ferreras
|
||||
|
||||
Checks IIS Site state
|
||||
|
||||
OK - started
|
||||
CRITICAL - STOPPED
|
||||
UNKNOWN - not found
|
||||
|
||||
|
||||
#>
|
||||
|
||||
|
||||
#
|
||||
# Shell arguments
|
||||
#
|
||||
[CmdletBinding()]
|
||||
Param(
|
||||
[Parameter(Mandatory=$True,Position=1)]
|
||||
[string]$website
|
||||
)
|
||||
|
||||
$bReturnOK = $TRUE
|
||||
$bReturnCritical = $FALSE
|
||||
$bReturnWarning = $FALSE
|
||||
|
||||
$returnStateOK = 0
|
||||
$returnStateWarning = 1
|
||||
$returnStateCritical = 2
|
||||
$returnStateUnknown = 3
|
||||
|
||||
$DataTexte = ""
|
||||
$strCritical = ""
|
||||
$strWarning = ""
|
||||
|
||||
[System.Reflection.Assembly]::LoadFrom( "C:\windows\system32\inetsrv\Microsoft.Web.Administration.dll" ) > $null
|
||||
|
||||
$servermanager = [Microsoft.Web.Administration.ServerManager]::OpenRemote("localhost")
|
||||
$site = $servermanager.Sites["$website"]
|
||||
$iis = Get-ItemProperty HKLM:\SOFTWARE\Microsoft\InetStp\ | select setupstring
|
||||
|
||||
# Nagios output
|
||||
|
||||
$resultstring="IISSITE UNKNOWN $website not found"
|
||||
$exit_code = $UNKNOWN
|
||||
|
||||
If ($site -ne $null) {
|
||||
|
||||
$status= $site.State
|
||||
|
||||
If ($status -eq "Started") {
|
||||
$str = 'OK ' + $website + ' ' + $status + '-' + $iis.setupstring
|
||||
}
|
||||
Elseif ($status -eq $null) {
|
||||
$strWarning = "UNKNOWN $website exists, but has no state. Check it is not a FTP site."
|
||||
$bReturnWarning = $TRUE
|
||||
}
|
||||
Else {
|
||||
$strCritical = 'CRITICAL '+ $website + ' ' + $status + '-' + $iis.setupstring
|
||||
$bReturnCritical = $TRUE
|
||||
}
|
||||
}
|
||||
|
||||
If ($bReturnCritical) {
|
||||
write-output $strCritica "|" $DataTexte
|
||||
exit $returnStateCritical
|
||||
}
|
||||
Elseif ($bReturnWarning) {
|
||||
write-output $strWarning "|" $DataTexte
|
||||
exit $returnStateWarning
|
||||
}
|
||||
Else {
|
||||
write-output $str "|" $DataTexte
|
||||
exit $returnStateOK
|
||||
}
|
Reference in New Issue
Block a user