Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| antivirusstate [2019/02/25 22:27] – nekan | antivirusstate [2021/03/05 16:13] (Version actuelle) – nekan | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Get-AntiVirusState - Connaître l' | ====== Get-AntiVirusState - Connaître l' | ||
| + | <label type=" | ||
| - | Connaître l' | + | Connaître l' |
| Le script suivant s' | Le script suivant s' | ||
| Ligne 9: | Ligne 10: | ||
| ===== Script principal ===== | ===== Script principal ===== | ||
| - | <code:ps1># Ligne rajouter pour permettre la coloration syntaxique. A supprimer. | + | <sxh powershell> |
| <# | <# | ||
| .SYNOPSIS | .SYNOPSIS | ||
| + | |||
| + | |||
| + | ███████╗██╗ | ||
| + | ██╔════╝██║ | ||
| + | ███████╗███████║ ╚████╔╝ ██████╔╝█████╔╝ ███████║ | ||
| + | ╚════██║██╔══██║ | ||
| + | ███████║██║ | ||
| + | ╚══════╝╚═╝ | ||
| + | |||
| + | ███████╗██╗ | ||
| + | ██╔════╝╚██╗ ██╔╝██╔════╝╚══██╔══╝██╔════╝████╗ ████║ | ||
| + | ███████╗ ╚████╔╝ ███████╗ | ||
| + | ╚════██║ | ||
| + | ███████║ | ||
| + | ╚══════╝ | ||
| + | |||
| + | |||
| ############################################################################################################# | ############################################################################################################# | ||
| Ligne 29: | Ligne 47: | ||
| Indique le ou les noms (séparé par des virgules (,)) des PC à interroger. Si le paramètre n'est pas renseigner, la requête sera lancée sur tous les PC contenus dans les OU PC Fixes, PC Portables et Direction. | Indique le ou les noms (séparé par des virgules (,)) des PC à interroger. Si le paramètre n'est pas renseigner, la requête sera lancée sur tous les PC contenus dans les OU PC Fixes, PC Portables et Direction. | ||
| - | .PARAMETER | + | .PARAMETER |
| + | |||
| + | Si le paramètre -Nagios est indiqué, un fichier de réponse pour un traitement par Nagios sera créé (C: | ||
| + | |||
| + | .PARAMETER Verbose | ||
| - | Si le paramètre | + | Si ce paramètre est indiqué, |
| .EXAMPLE | .EXAMPLE | ||
| - | Get-AntiVirusState.ps1 -PC PC-7,PC-49 -n | + | Get-AVState.ps1 -PC PC-7,PC-49 -Nagios -Verbose |
| Lance la requête d' | Lance la requête d' | ||
| Ligne 67: | Ligne 89: | ||
| NOM : Get-AntiVirusState.ps1 | NOM : Get-AntiVirusState.ps1 | ||
| AUTEUR : | AUTEUR : | ||
| - | VERSION : 1.1.1 | + | VERSION : 1.3 |
| HISTORIQUE : | HISTORIQUE : | ||
| Ligne 82: | Ligne 104: | ||
| 1.1.1 | 1.1.1 | ||
| + | 1.2 | ||
| + | |||
| + | 1.3 | ||
| #> | #> | ||
| Ligne 88: | Ligne 113: | ||
| Param( | Param( | ||
| - | [String[]]$PC='All', | + | [String[]]$PC="All", |
| - | [Switch]$n | + | [Switch]$Nagios, |
| + | [Switch]$Verbose | ||
| ) | ) | ||
| # Déclaration des variables | # Déclaration des variables | ||
| - | If ($PC -eq 'All') | + | If ($PC -eq "All") |
| { | { | ||
| - | # Création de la liste des PC à traiter par interrogation des OU correspondantes dans l'AD | ||
| $ListPC = (Get-ADComputer -SearchBase "OU=PC Fixe, | $ListPC = (Get-ADComputer -SearchBase "OU=PC Fixe, | ||
| $ListPC += (Get-ADComputer -SearchBase "OU=PC Portable, | $ListPC += (Get-ADComputer -SearchBase "OU=PC Portable, | ||
| Ligne 106: | Ligne 131: | ||
| } | } | ||
| $CheckDate = Get-Date -UFormat %Y-%m-%d | $CheckDate = Get-Date -UFormat %Y-%m-%d | ||
| - | $LogFile | + | $Path = " |
| + | $LogFile = "$Path\AntivirusState-$CheckDate.log" | ||
| + | $ScriptName = " | ||
| $Old = 7 | $Old = 7 | ||
| $TotalPC = 0 | $TotalPC = 0 | ||
| Ligne 118: | Ligne 145: | ||
| $PCWithFaultyRT = " | $PCWithFaultyRT = " | ||
| $PCWithObsoleteBase = " | $PCWithObsoleteBase = " | ||
| - | $FQDN = 'test.local' | + | $Domaine = " |
| + | $FQDN = "test.local" | ||
| + | $Report = " | ||
| # Déclacation des fonctions | # Déclacation des fonctions | ||
| + | Function Add-Log() | ||
| + | { | ||
| + | Param | ||
| + | ( | ||
| + | [string]$Type, | ||
| + | [string]$Message, | ||
| + | [switch]$Line | ||
| + | ) | ||
| + | |||
| + | If ($Line) | ||
| + | { | ||
| + | Write-Host " | ||
| + | Add-Content -Path $LogFile -Value " | ||
| + | } | ||
| + | Else | ||
| + | { | ||
| + | $CheckTime = Get-Date -Format G | ||
| + | If ($Verbose) | ||
| + | { | ||
| + | Switch($Type) | ||
| + | { | ||
| + | " | ||
| + | { | ||
| + | $Color = " | ||
| + | } | ||
| + | " | ||
| + | { | ||
| + | $Color = " | ||
| + | } | ||
| + | " | ||
| + | { | ||
| + | $Color = " | ||
| + | } | ||
| + | " | ||
| + | { | ||
| + | $Color = " | ||
| + | } | ||
| + | default | ||
| + | { | ||
| + | $Color = " | ||
| + | } | ||
| + | } | ||
| + | Write-Host " | ||
| + | Write-Host " | ||
| + | Write-Host $Message | ||
| + | } | ||
| + | Add-Content -Path $LogFile -Value " | ||
| + | } | ||
| + | } | ||
| + | |||
| Function Get-PCOnlineStatus($PC) | Function Get-PCOnlineStatus($PC) | ||
| { | { | ||
| # On interroge le PC via Get-WmiObject plutôt que par ping pour éviter les erreurs de pare-feu | # On interroge le PC via Get-WmiObject plutôt que par ping pour éviter les erreurs de pare-feu | ||
| - | $OnlineTest = (Get-WmiObject -Comp $PC -CL Win32_ComputerSystem -ErrorAction SilentlyContinue -WarningAction SilentlyContinue -InformationAction SilentlyContinue).Domain | + | $OnlineTest = (Get-WmiObject -ComputerName |
| If ($OnlineTest -eq $FQDN) | If ($OnlineTest -eq $FQDN) | ||
| { | { | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| Return $true | Return $true | ||
| } | } | ||
| Else | Else | ||
| { | { | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| Return $false | Return $false | ||
| } | } | ||
| Ligne 150: | Ligne 221: | ||
| If (Test-Path $LogFile) | If (Test-Path $LogFile) | ||
| { | { | ||
| - | | + | |
| - | | + | |
| - | Write-Host | + | |
| - | Write-Host | + | Add-Log -Line |
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| Else | Else | ||
| { | { | ||
| - | $CheckTime = Get-Date -UFormat " | ||
| - | Write-Host " | ||
| - | Write-Host " | ||
| - | Write-Host " | ||
| - | $CheckTime = Get-Date -UFormat " | ||
| - | Write-Host " | ||
| - | Write-Host " | ||
| - | Write-Host " | ||
| - | $CheckTime = Get-Date -UFormat " | ||
| - | Write-Host " | ||
| - | Write-Host " | ||
| - | Write-Host " | ||
| New-Item -Path $LogFile > $null | New-Item -Path $LogFile > $null | ||
| - | Get-ChildItem –Path | + | |
| - | Add-Content -Path $LogFile -Value "Log de la vérification de l' | + | |
| - | Add-Content -Path $LogFile | + | Add-Log -Type "INFO" -Message |
| - | Add-Content -Path $LogFile -Value | + | Add-Log -Type "INFO" -Message |
| - | Add-Content | + | Add-Log -Line |
| - | Add-Content -Path $LogFile -Value | + | |
| } | } | ||
| Ligne 188: | Ligne 240: | ||
| { | { | ||
| $TotalPC += 1 | $TotalPC += 1 | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | | + | |
| | | ||
| # On teste si la machine est en ligne | # On teste si la machine est en ligne | ||
| Ligne 202: | Ligne 251: | ||
| $PCOnline += 1 | $PCOnline += 1 | ||
| #On vérifie le nombre d' | #On vérifie le nombre d' | ||
| - | $AntiVirusCount = (Get-WmiObject -Namespace " | ||
| $AntiVirusProduct = Get-WmiObject -Namespace " | $AntiVirusProduct = Get-WmiObject -Namespace " | ||
| + | $AntiVirusCount = $AntiVirusProduct.Count | ||
| If ($AntiVirusCount.Count -gt 2) | If ($AntiVirusCount.Count -gt 2) | ||
| { | { | ||
| # Erreur plus de 2 antivirus présents | # Erreur plus de 2 antivirus présents | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| $CritCount += 1 | $CritCount += 1 | ||
| If ($PCWithManyAV -eq " | If ($PCWithManyAV -eq " | ||
| Ligne 227: | Ligne 272: | ||
| { | { | ||
| # Filtre pour supprimer Windows Defender qui doit être désactivé et création de la liste d' | # Filtre pour supprimer Windows Defender qui doit être désactivé et création de la liste d' | ||
| - | $AntiVirusProduct = Get-WmiObject -Namespace " | + | $AntiVirusProduct = Get-WmiObject -Namespace " |
| } | } | ||
| If ($AntiVirusProduct -eq '' | If ($AntiVirusProduct -eq '' | ||
| { | { | ||
| - | # Erreur pas d' | + | #TODO Erreur pas d' |
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| $CritCount += 1 | $CritCount += 1 | ||
| If ($PCWithoutAV -eq " | If ($PCWithoutAV -eq " | ||
| Ligne 251: | Ligne 292: | ||
| # Affichage de l' | # Affichage de l' | ||
| $AVName = $AntiVirusProduct.displayName | $AVName = $AntiVirusProduct.displayName | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| # Extraction des données de l' | # Extraction des données de l' | ||
| Ligne 261: | Ligne 298: | ||
| # Conversion en hexadecimal (avec ajout de 0 si nécessaire pour avoir une chaîne de 6 caractères) | # Conversion en hexadecimal (avec ajout de 0 si nécessaire pour avoir une chaîne de 6 caractères) | ||
| - | $Hexa = [Convert]:: | + | $Hexa = [Convert]:: |
| # Séparation des indicateurs (les 2 premiers caractères puis les 2 suivants et enfin les 2 derniers) | # Séparation des indicateurs (les 2 premiers caractères puis les 2 suivants et enfin les 2 derniers) | ||
| Ligne 269: | Ligne 306: | ||
| # Création de la valeur correspondant au type de protection | # Création de la valeur correspondant au type de protection | ||
| - | $Provider = "" | + | $Provider = '' |
| While ($WSC_SECURITY_PROVIDER) | While ($WSC_SECURITY_PROVIDER) | ||
| { | { | ||
| Ligne 276: | Ligne 313: | ||
| [Int]$WSC_SECURITY_PROVIDER = [Int]$WSC_SECURITY_PROVIDER - 64 | [Int]$WSC_SECURITY_PROVIDER = [Int]$WSC_SECURITY_PROVIDER - 64 | ||
| $Provider += " | $Provider += " | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| ElseIf ([Int]$WSC_SECURITY_PROVIDER -ge 32) | ElseIf ([Int]$WSC_SECURITY_PROVIDER -ge 32) | ||
| { | { | ||
| [Int]$WSC_SECURITY_PROVIDER = [Int]$WSC_SECURITY_PROVIDER - 32 | [Int]$WSC_SECURITY_PROVIDER = [Int]$WSC_SECURITY_PROVIDER - 32 | ||
| - | If ($Provider -eq "" | + | If ($Provider -eq '' |
| { | { | ||
| $Provider += "User Controlled" | $Provider += "User Controlled" | ||
| Ligne 293: | Ligne 326: | ||
| $Provider += ", User Controlled" | $Provider += ", User Controlled" | ||
| } | } | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| ElseIf ([Int]$WSC_SECURITY_PROVIDER -ge 16) | ElseIf ([Int]$WSC_SECURITY_PROVIDER -ge 16) | ||
| { | { | ||
| [Int]$WSC_SECURITY_PROVIDER = [Int]$WSC_SECURITY_PROVIDER - 16 | [Int]$WSC_SECURITY_PROVIDER = [Int]$WSC_SECURITY_PROVIDER - 16 | ||
| - | If ($Provider -eq "" | + | If ($Provider -eq '' |
| { | { | ||
| $Provider += " | $Provider += " | ||
| Ligne 310: | Ligne 339: | ||
| $Provider += ", Internet Settings" | $Provider += ", Internet Settings" | ||
| } | } | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| ElseIf ([Int]$WSC_SECURITY_PROVIDER -ge 8) | ElseIf ([Int]$WSC_SECURITY_PROVIDER -ge 8) | ||
| { | { | ||
| [Int]$WSC_SECURITY_PROVIDER = [Int]$WSC_SECURITY_PROVIDER - 8 | [Int]$WSC_SECURITY_PROVIDER = [Int]$WSC_SECURITY_PROVIDER - 8 | ||
| - | If ($Provider -eq "" | + | If ($Provider -eq '' |
| { | { | ||
| $Provider += " | $Provider += " | ||
| Ligne 327: | Ligne 352: | ||
| $Provider += ", AntiSpyware" | $Provider += ", AntiSpyware" | ||
| } | } | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| ElseIf ([Int]$WSC_SECURITY_PROVIDER -ge 4) | ElseIf ([Int]$WSC_SECURITY_PROVIDER -ge 4) | ||
| { | { | ||
| [Int]$WSC_SECURITY_PROVIDER = [Int]$WSC_SECURITY_PROVIDER - 4 | [Int]$WSC_SECURITY_PROVIDER = [Int]$WSC_SECURITY_PROVIDER - 4 | ||
| - | If ($Provider -eq "" | + | If ($Provider -eq '' |
| { | { | ||
| $Provider += " | $Provider += " | ||
| Ligne 344: | Ligne 365: | ||
| $Provider += ", Antivirus" | $Provider += ", Antivirus" | ||
| } | } | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| ElseIf ([Int]$WSC_SECURITY_PROVIDER -ge 2) | ElseIf ([Int]$WSC_SECURITY_PROVIDER -ge 2) | ||
| { | { | ||
| [Int]$WSC_SECURITY_PROVIDER = [Int]$WSC_SECURITY_PROVIDER - 2 | [Int]$WSC_SECURITY_PROVIDER = [Int]$WSC_SECURITY_PROVIDER - 2 | ||
| - | If ($Provider -eq "" | + | If ($Provider -eq '' |
| { | { | ||
| $Provider += " | $Provider += " | ||
| Ligne 361: | Ligne 378: | ||
| $Provider += ", AutoUpdate" | $Provider += ", AutoUpdate" | ||
| } | } | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| ElseIf ([Int]$WSC_SECURITY_PROVIDER -ge 1) | ElseIf ([Int]$WSC_SECURITY_PROVIDER -ge 1) | ||
| { | { | ||
| [Int]$WSC_SECURITY_PROVIDER = [Int]$WSC_SECURITY_PROVIDER - 1 | [Int]$WSC_SECURITY_PROVIDER = [Int]$WSC_SECURITY_PROVIDER - 1 | ||
| - | If ($Provider -eq "" | + | If ($Provider -eq '' |
| { | { | ||
| $Provider += " | $Provider += " | ||
| Ligne 378: | Ligne 391: | ||
| $Provider += ", FireWall" | $Provider += ", FireWall" | ||
| } | } | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| } | } | ||
| - | If ($Provider -eq "" | + | If ($Provider -eq '' |
| { | { | ||
| $Provider = " | $Provider = " | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host "Aucun fournisseurs d' | + | |
| - | Add-Content -Path $LogFile -Value | + | |
| } | } | ||
| Ligne 401: | Ligne 406: | ||
| { | { | ||
| $RTStatus = " | $RTStatus = " | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| $CritCount += 1 | $CritCount += 1 | ||
| If ($PCWithFaultyRT -eq " | If ($PCWithFaultyRT -eq " | ||
| Ligne 419: | Ligne 420: | ||
| { | { | ||
| $RTStatus = "En arrêt" | $RTStatus = "En arrêt" | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| $WarnCount += 1 | $WarnCount += 1 | ||
| If ($PCWithFaultyRT -eq " | If ($PCWithFaultyRT -eq " | ||
| Ligne 438: | Ligne 435: | ||
| { | { | ||
| $RTStatus = " | $RTStatus = " | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| " | " | ||
| { | { | ||
| $RTStatus = "En veille" | $RTStatus = "En veille" | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| default | default | ||
| { | { | ||
| $RTStatus = " | $RTStatus = " | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host "???? | + | |
| - | Write-Host "Etat de la protection en temps réel inconnu, veuillez vérifier l' | + | |
| - | Add-Content -Path $LogFile | + | |
| $WarnCount += 1 | $WarnCount += 1 | ||
| If ($PCWithFaultyRT -eq " | If ($PCWithFaultyRT -eq " | ||
| Ligne 479: | Ligne 464: | ||
| " | " | ||
| { | { | ||
| - | | + | |
| - | $CheckTime = Get-Date -UFormat " | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| " | " | ||
| { | { | ||
| - | | + | |
| - | $CheckTime = Get-Date -UFormat " | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| $WarmCount += 1 | $WarmCount += 1 | ||
| If ($PCWithObsoleteBase -eq " | If ($PCWithObsoleteBase -eq " | ||
| Ligne 506: | Ligne 481: | ||
| default | default | ||
| { | { | ||
| - | | + | |
| - | $CheckTime = Get-Date -UFormat | + | |
| - | Write-Host " | + | |
| - | Write-Host "???? | + | |
| - | Write-Host " | + | |
| - | Add-Content -Path $LogFile | + | |
| $WarnCount += 1 | $WarnCount += 1 | ||
| If ($PCWithObsoleteBase -eq " | If ($PCWithObsoleteBase -eq " | ||
| Ligne 531: | Ligne 501: | ||
| # Affichage du résumé | # Affichage du résumé | ||
| - | Write-Host "----------------------------------------------------------" | + | Add-Log -Line |
| - | Add-Content | + | Add-Log -Type " |
| - | $CheckTime = Get-Date -UFormat " | + | Add-Log -Type " |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content | + | |
| - | $CheckTime = Get-Date -UFormat | + | |
| - | Write-Host " | + | |
| - | Write-Host " | + | |
| - | Write-Host "PC interrogés : $PCOnline." | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| If ($PCOffline) | If ($PCOffline) | ||
| { | { | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| Else | Else | ||
| { | { | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| If ($WarnCount) | If ($WarnCount) | ||
| { | { | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| Else | Else | ||
| { | { | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| If ($CritCount) | If ($CritCount) | ||
| { | { | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| Else | Else | ||
| { | { | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| - | If ($PCWithObsoleteBase -ne "" | + | If ($PCWithObsoleteBase -ne "n/a") |
| { | { | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| - | If ($PCWithFaultyRT -ne "" | + | Else |
| { | { | ||
| - | | + | |
| - | Write-Host "$CheckTime | + | |
| - | Write-Host " | + | |
| - | Write-Host "PC n' | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| - | If ($PCWithManyAV | + | |
| + | If ($PCWithFaultyRT | ||
| { | { | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| - | If ($PCWithoutAV -ne "" | + | Else |
| + | { | ||
| + | Add-Log -Type " | ||
| + | } | ||
| + | If ($PCWithManyAV -ne " | ||
| + | { | ||
| + | Add-Log -Type " | ||
| + | } | ||
| + | Else | ||
| + | { | ||
| + | Add-Log -Type " | ||
| + | } | ||
| + | If ($PCWithoutAV -ne "n/a") | ||
| + | { | ||
| + | Add-Log -Type " | ||
| + | } | ||
| + | Else | ||
| { | { | ||
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| } | } | ||
| # Création du rapport pour Nagios | # Création du rapport pour Nagios | ||
| - | If ($n) | + | If ($Nagios) |
| { | { | ||
| # On supprime l' | # On supprime l' | ||
| - | If (Test-Path | + | If (Test-Path |
| { | { | ||
| - | Remove-Item -Path ' | + | Remove-Item -Path $Report -Force > $null |
| } | } | ||
| # Affichage dans la console | # Affichage dans la console | ||
| - | | + | |
| - | | + | |
| - | Write-Host " | + | |
| - | Write-Host | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| # On crée un rapport vide | # On crée un rapport vide | ||
| $TempVar = @{} | $TempVar = @{} | ||
| - | $TempVar | Export-Csv -Path ' | + | $TempVar | Export-Csv -Path $Report -Delimiter ';' |
| # On ajoute les valeurs pour Nagios | # On ajoute les valeurs pour Nagios | ||
| Ligne 656: | Ligne 591: | ||
| $ReportData | Export-Csv -Path ' | $ReportData | Export-Csv -Path ' | ||
| } | } | ||
| - | </code> | + | </sxh> |
| ===== Script d' | ===== Script d' | ||
| - | <code:ps1> | + | <sxh powershell> |
| ############################################################################################################# | ############################################################################################################# | ||
| # # | # # | ||
| - | # Traitement par Nagios du rapport de Get-AVState.ps1 | + | # Traitement par Nagios du rapport de Get-AntiVirusState.ps1 # |
| # # | # # | ||
| # Par Nicolas THOREZ | # Par Nicolas THOREZ | ||
| Ligne 679: | Ligne 614: | ||
| [String]$NoAV = $Report.NoAV | [String]$NoAV = $Report.NoAV | ||
| - | $Output = "" | + | $Output = '' |
| - | $OutputMessage = "" | + | $OutputMessage = '' |
| $ExitCode = 3 | $ExitCode = 3 | ||
| Ligne 692: | Ligne 627: | ||
| { | { | ||
| $Output = " | $Output = " | ||
| - | If ($OutputMessage -eq "" | + | If ($OutputMessage -eq '' |
| { | { | ||
| $OutputMessage = "PC with too many AV : $TooMany" | $OutputMessage = "PC with too many AV : $TooMany" | ||
| Ligne 705: | Ligne 640: | ||
| { | { | ||
| $Output = " | $Output = " | ||
| - | If ($OutputMessage -eq "" | + | If ($OutputMessage -eq '' |
| { | { | ||
| $OutputMessage = "PC without activated RealTime Protection : $RTFail" | $OutputMessage = "PC without activated RealTime Protection : $RTFail" | ||
| Ligne 717: | Ligne 652: | ||
| If ($Obsolete -ne " | If ($Obsolete -ne " | ||
| { | { | ||
| - | If ($Output -eq "" | + | If ($Output -eq '' |
| { | { | ||
| $Output = " | $Output = " | ||
| $ExitCode = 1 | $ExitCode = 1 | ||
| } | } | ||
| - | If ($OutputMessage -eq "" | + | If ($OutputMessage -eq '' |
| { | { | ||
| $OutputMessage = "PC with obsolete virus definitions bases : $Obsolete" | $OutputMessage = "PC with obsolete virus definitions bases : $Obsolete" | ||
| Ligne 747: | Ligne 682: | ||
| exit $ExitCode | exit $ExitCode | ||
| } | } | ||
| - | </code> | + | </sxh> |
| - | + | ||
| - | --- // | + | |
| ~~DISCUSSION~~ | ~~DISCUSSION~~ | ||