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 | ||
| gporeport [2019/02/19 11:49] – nekan | gporeport [2021/03/05 16:13] (Version actuelle) – nekan | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Get-DomainPcGpoReport - Obtenir | + | ====== Get-DomainPcGpoReport - Créer |
| + | <label type=" | ||
| Un jour, mon responsable m'a demandé un rapport sur le déploiement de certaines GPO. Je me suis dit qu'il suffisait d' | Un jour, mon responsable m'a demandé un rapport sur le déploiement de certaines GPO. Je me suis dit qu'il suffisait d' | ||
| Ligne 18: | Ligne 19: | ||
| ===== Script principal ===== | ===== Script principal ===== | ||
| - | <code powershell> | + | <sxh powershell> |
| ################################################################################################## | ################################################################################################## | ||
| - | # | + | # |
| - | # Script de vérification de synchronisation des postes avec le contrôleur de domaine | + | # Script de vérification de synchronisation des postes avec le contrôleur de domaine |
| - | # | + | # |
| - | # Par Nicolas THOREZ | + | # Par Nicolas THOREZ |
| - | # | + | # |
| ################################################################################################## | ################################################################################################## | ||
| Ligne 36: | Ligne 37: | ||
| $LastSyncFile = " | $LastSyncFile = " | ||
| - | # Création de la liste des PS en se basant sur l'AD | + | # Création de la liste des PC en se basant sur 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 176: | Ligne 177: | ||
| { | { | ||
| $TempVar = @{} | $TempVar = @{} | ||
| - | $TempVar | Export-Csv -Path $LastSyncFile -Delimiter | + | $TempVar | Export-Csv -Path $LastSyncFile -Delimiter |
| } | } | ||
| Ligne 221: | Ligne 222: | ||
| # Récupération de la dernière synchronisation | # Récupération de la dernière synchronisation | ||
| - | $GPOTime = ($Results.DocumentElement.UserResults.ExtensionStatus | Where-Object {$_.Name -eq 'Infrastructure de stratégie de groupe'}).BeginTime | + | $GPOTime = ($Results.DocumentElement.UserResults.ExtensionStatus | Where-Object {$_.Name -eq "Infrastructure de stratégie de groupe"}).BeginTime |
| $LastSyncTime = [String](Get-Date $GPOTime).ToShortDateString() + " " + [String](Get-Date $GPOTime).ToShortTimeString() | $LastSyncTime = [String](Get-Date $GPOTime).ToShortDateString() + " " + [String](Get-Date $GPOTime).ToShortTimeString() | ||
| Set-LastSync $PCName $LastSyncTime | Set-LastSync $PCName $LastSyncTime | ||
| | | ||
| # Vérification pour la GPO (P: | # Vérification pour la GPO (P: | ||
| - | $PDriveGpoStatus = Get-GPOState('(P: | + | $PDriveGpoStatus = Get-GPOState("(P: |
| # Vérification pour la GPO BackupUsers_Xcopy_Daily_scheduled | # Vérification pour la GPO BackupUsers_Xcopy_Daily_scheduled | ||
| - | $BackupGpoStatus = Get-GPOState('BackupUsers_Xcopy_Daily_scheduled') | + | $BackupGpoStatus = Get-GPOState("BackupUsers_Xcopy_Daily_scheduled") |
| | | ||
| # Vérification pour la GPO Stratégie de groupe locale | # Vérification pour la GPO Stratégie de groupe locale | ||
| - | $LocalGpoStatus = Get-GPOState('Stratégie de groupe locale') | + | $LocalGpoStatus = Get-GPOState("Stratégie de groupe locale") |
| # Vérification pour la GPO (Z: | # Vérification pour la GPO (Z: | ||
| - | $ZDriveGpoStatus = Get-GPOState('(Z: | + | $ZDriveGpoStatus = Get-GPOState("(Z: |
| # Vérification pour la GPO Default Domain Policy | # Vérification pour la GPO Default Domain Policy | ||
| - | $DefaultGpoStatus = Get-GPOState('Default Domain Policy') | + | $DefaultGpoStatus = Get-GPOState("Default Domain Policy") |
| # Ajoute une ligne au rapport et passe à la suite de la boucle | # Ajoute une ligne au rapport et passe à la suite de la boucle | ||
| Ligne 252: | Ligne 253: | ||
| } | } | ||
| - | </code> | + | </sxh> |
| ===== Script d' | ===== Script d' | ||
| - | <code powershell> | + | <sxh powershell> |
| ################################################################################## | ################################################################################## | ||
| # # | # # | ||
| Ligne 267: | Ligne 268: | ||
| # Déclaration des variables | # Déclaration des variables | ||
| - | $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, |
| + | $ListPC += (Get-ADComputer -SearchBase " | ||
| $SyncTimeData = Import-Csv -Path " | $SyncTimeData = Import-Csv -Path " | ||
| $ReportData = Import-Csv -Path " | $ReportData = Import-Csv -Path " | ||
| - | $OutputMessage = "" | + | $OutputMessage = '' |
| - | $OutputMessageCore = "" | + | $OutputMessageCore = '' |
| $ExitCode = 3 | $ExitCode = 3 | ||
| $CheckTime = Get-Date | $CheckTime = Get-Date | ||
| - | $NeverSyncError = "" | + | $NeverSyncError = '' |
| - | $NoSyncSinceError = "" | + | $NoSyncSinceError = '' |
| $MaxSyncDelta = 7 # jours | $MaxSyncDelta = 7 # jours | ||
| - | $PDriveError = "" | + | $PDriveError = '' |
| - | $ZDriveError = "" | + | $ZDriveError = '' |
| - | $LocalGpoError = "" | + | $LocalGpoError = '' |
| - | $BackupError = "" | + | $BackupError = '' |
| - | $DefaultGpoError = "" | + | $DefaultGpoError = '' |
| # Déclaration des fonctions | # Déclaration des fonctions | ||
| Ligne 294: | Ligne 296: | ||
| [String]$PC | [String]$PC | ||
| ) | ) | ||
| - | If ($Message -eq "" | + | If ($Message -eq '' |
| { | { | ||
| $Message = " | $Message = " | ||
| Ligne 331: | Ligne 333: | ||
| $PCName = $PC.PC | $PCName = $PC.PC | ||
| $OnlineStatus = $PC.Online | $OnlineStatus = $PC.Online | ||
| - | $PStatus = $PC.'(P: | + | $PStatus = $PC."(P: |
| - | $BackupStatus = $PC.'BackupUsers_Xcopy_Daily_scheduled' | + | $BackupStatus = $PC."BackupUsers_Xcopy_Daily_scheduled" |
| - | $LocalStatus = $PC.' | + | $LocalStatus = $PC." |
| - | $ZStatus = $PC.'(Z: | + | $ZStatus = $PC."(Z: |
| - | $DefaultStatus = $PC.'Default Domain Policy' | + | $DefaultStatus = $PC."Default Domain Policy" |
| # Passage à la boucle suivante pour les PC hors ligne | # Passage à la boucle suivante pour les PC hors ligne | ||
| Ligne 368: | Ligne 370: | ||
| # Renvoie des valeurs dans Nagios | # Renvoie des valeurs dans Nagios | ||
| - | If ($PDriveError -ne "" | + | If ($PDriveError -ne '' |
| { | { | ||
| $PDriveError = "P Drive Error : " + $PDriveError | $PDriveError = "P Drive Error : " + $PDriveError | ||
| Ligne 374: | Ligne 376: | ||
| $ExitCode = 1 | $ExitCode = 1 | ||
| } | } | ||
| - | If ($BackupError -ne "" | + | If ($BackupError -ne '' |
| { | { | ||
| $BackupError = " | $BackupError = " | ||
| Ligne 380: | Ligne 382: | ||
| $ExitCode = 1 | $ExitCode = 1 | ||
| } | } | ||
| - | If ($LocalGpoError -ne "" | + | If ($LocalGpoError -ne '' |
| { | { | ||
| $LocalGpoError = "Local Policy Error : " + $LocalGpoError | $LocalGpoError = "Local Policy Error : " + $LocalGpoError | ||
| Ligne 386: | Ligne 388: | ||
| $ExitCode = 1 | $ExitCode = 1 | ||
| } | } | ||
| - | If ($ZDriveError -ne "" | + | If ($ZDriveError -ne '' |
| { | { | ||
| $ZDriveError = "Z Drive Error : " + $ZDriveError | $ZDriveError = "Z Drive Error : " + $ZDriveError | ||
| Ligne 392: | Ligne 394: | ||
| $ExitCode = 1 | $ExitCode = 1 | ||
| } | } | ||
| - | If ($DefaultGpoError -ne "" | + | If ($DefaultGpoError -ne '' |
| { | { | ||
| $DefaultGpoError = " | $DefaultGpoError = " | ||
| Ligne 398: | Ligne 400: | ||
| $ExitCode = 1 | $ExitCode = 1 | ||
| } | } | ||
| - | If ($NeverSyncError -ne "" | + | If ($NeverSyncError -ne '' |
| { | { | ||
| $NeverSyncError = "Never Synchronised : " + $NeverSyncError | $NeverSyncError = "Never Synchronised : " + $NeverSyncError | ||
| Ligne 404: | Ligne 406: | ||
| $ExitCode = 2 | $ExitCode = 2 | ||
| } | } | ||
| - | If ($NoSyncSinceError -ne "" | + | If ($NoSyncSinceError -ne '' |
| { | { | ||
| $NoSyncSinceError = "No Synchronization since $MaxSyncDelta days : " + $NoSyncSinceError | $NoSyncSinceError = "No Synchronization since $MaxSyncDelta days : " + $NoSyncSinceError | ||
| Ligne 410: | Ligne 412: | ||
| $ExitCode = 2 | $ExitCode = 2 | ||
| } | } | ||
| - | If ($OutputMessageCore -eq "" | + | If ($OutputMessageCore -eq '' |
| { | { | ||
| $ExitCode = 0 | $ExitCode = 0 | ||
| Ligne 437: | Ligne 439: | ||
| } | } | ||
| - | </code> | + | </sxh> |
| ~~DISCUSSION~~ | ~~DISCUSSION~~ | ||