Powershell/NRPE/Check_Dynamics-AX.ps1
2023-07-04 12:59:44 +02:00

83 lines
2.4 KiB
PowerShell

<#
.SYNOPSIS
<Overview of script>
.NOTES
Version : 1.0
Author : Hubert CORNET
Creation Date : <Date>
Purpose/Change : <Initial script development>
.LINK
https://www.tips-of-mine.fr
.EXEMPLE
<Example goes here. Repeat this attribute for more than one example>
.DESCRIPTION
<Brief description of script>
.PARAMETER <Parameter_Name>
<Brief description of parameter input required. Repeat this attribute if required>
.INPUTS
<Inputs if any, otherwise state None>
.OUTPUTS
<Outputs if any, otherwise state None - example: Log file stored in C:\Windows\Temp\<name>.log>
#>
#---------------------------------------------------------[Initialisations]--------------------------------------------------------
# Définir l'action d'erreur pour continuer silencieusement
$ErrorActionPreference = "SilentlyContinue"
# Bibliothèques de fonctions requises
#----------------------------------------------------------[Declarations]----------------------------------------------------------
# Version Script
$sScriptVersion = "1.0"
#Log File Info
$sLogPath = "C:\Tmp"
$sLogName = "<script_name>.log"
$sLogFile = Join-Path -Path $sLogPath -ChildPath $sLogName
## ReturnStates
$returnStateOK = 0
$returnStateWarning = 1
$returnStateCritical = 2
$returnStateUnknown = 3
$Separateur = ":"
$DataTexte = ""
$str = ""
#-----------------------------------------------------------[Functions]------------------------------------------------------------
#------------------------------------------------------------[Script]--------------------------------------------------------------
cls
cd "C:\Program Files\Centreon NSClient++"
$ValiableRetour = cmd /c nscp.exe sys -- --validate Microsoft --all
Foreach ($ligne in $ValiableRetour) {
If ($ligne.StartsWith("\Microsoft Dynamics AX Object Server")) {
$ArrayA = $ligne.Split("\")
$ArrayB = ($ArrayA[2]).Split($Separateur)
#Write-Host $ArrayB[0]
#Write-Host ($ArrayB[1].Substring(0,$ArrayB[1].Length-1)).substring(4)
$DataTexte += "'"+$ArrayB[0]+"'="+($ArrayB[1].Substring(0,$ArrayB[1].Length-1)).substring(4)+" "
If ($ArrayB[0] -eq "ACTIVE SESSIONS") {
$str = "Nombre de sessions active : "+($ArrayB[1].Substring(0,$ArrayB[1].Length-1)).substring(4)
}
}
}
write-output "OK - $str" "|" $DataTexte
exit $returnStateOK