Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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] nekangporeport [2021/03/05 16:13] (Version actuelle) nekan
Ligne 1: Ligne 1:
-====== Get-DomainPcGpoReport - Obtenir un rapport de déploiement des GPO ======+====== Get-DomainPcGpoReport - Créer un rapport de déploiement de GPO ====== 
 +<label type="info">Création</label> --- //[[nekan@shyrkasystem.com|Nicolas THOREZ]] 2019/02/19 21:49//
  
 Un jour, mon responsable m'a demandé un rapport sur le déploiement de certaines GPO. Je me suis dit qu'il suffisait d'interroger l'AD pour avoir ces informations et là, stupeur, après quelques recherches, je me rends compte que l'AD ne les fournit pas. Un jour, mon responsable m'a demandé un rapport sur le déploiement de certaines GPO. Je me suis dit qu'il suffisait d'interroger l'AD pour avoir ces informations et là, stupeur, après quelques recherches, je me rends compte que l'AD ne les fournit pas.
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 = "C:\Scripts\GPO Report\lastsync.csv" $LastSyncFile = "C:\Scripts\GPO Report\lastsync.csv"
  
-# 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,OU=Ordinateurs,DC=TEST,DC=LOCAL" -Filter *).Name $ListPC = (Get-ADComputer -SearchBase "OU=PC Fixe,OU=Ordinateurs,DC=TEST,DC=LOCAL" -Filter *).Name
 $ListPC += (Get-ADComputer -SearchBase "OU=PC Portable,OU=Ordinateurs,DC=TEST,DC=LOCAL" -Filter *).Name $ListPC += (Get-ADComputer -SearchBase "OU=PC Portable,OU=Ordinateurs,DC=TEST,DC=LOCAL" -Filter *).Name
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:)_Personal_Folder_Mapping                 # Vérification pour la GPO (P:)_Personal_Folder_Mapping
-                $PDriveGpoStatus = Get-GPOState('(P:)_Personal_Folder_Mapping')+                $PDriveGpoStatus = Get-GPOState("(P:)_Personal_Folder_Mapping")
  
                 # 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:)_Shared_Folder                 # Vérification pour la GPO (Z:)_Shared_Folder
-                $ZDriveGpoStatus = Get-GPOState('(Z:)_Shared_Folder')+                $ZDriveGpoStatus = Get-GPOState("(Z:)_Shared_Folder")
  
                 # 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'interprétation pour Nagios ===== ===== Script d'interprétation pour Nagios =====
  
-<code powershell>+<sxh powershell>
 ################################################################################## ##################################################################################
 #                                                                                # #                                                                                #
Ligne 267: Ligne 268:
 # Déclaration des variables # Déclaration des variables
  
-$ListPC = (Get-ADComputer -SearchBase "OU=PC Fixe,OU=Ordinateurs,DC=AD,DC=MTARGET,DC=NET" -Filter *).Name +$ListPC = (Get-ADComputer -SearchBase "OU=PC Fixe,OU=Ordinateurs,DC=TEST,DC=LOCAL" -Filter *).Name 
-$ListPC += (Get-ADComputer -SearchBase "OU=PC Portable,OU=Ordinateurs,DC=AD,DC=MTARGET,DC=NET" -Filter *).Name+$ListPC += (Get-ADComputer -SearchBase "OU=PC Portable,OU=Ordinateurs,DC=TEST,DC=LOCAL" -Filter *).Name 
 +$ListPC += (Get-ADComputer -SearchBase "OU=Ordinateurs,OU=Direction,DC=TEST,DC=LOCAL" -Filter *).Name
 $SyncTimeData = Import-Csv -Path "C:\Scripts\GPO Report\lastsync.csv" -Delimiter ';' $SyncTimeData = Import-Csv -Path "C:\Scripts\GPO Report\lastsync.csv" -Delimiter ';'
 $ReportData = Import-Csv -Path "C:\Scripts\GPO Report\Report.csv" -Delimiter ';' $ReportData = Import-Csv -Path "C:\Scripts\GPO Report\Report.csv" -Delimiter ';'
-$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 = "$PC"                 $Message = "$PC"
Ligne 331: Ligne 333:
         $PCName = $PC.PC         $PCName = $PC.PC
         $OnlineStatus = $PC.Online         $OnlineStatus = $PC.Online
-        $PStatus = $PC.'(P:)_Personal_Folder_Mapping' +        $PStatus = $PC."(P:)_Personal_Folder_Mapping" 
-        $BackupStatus = $PC.'BackupUsers_Xcopy_Daily_scheduled' +        $BackupStatus = $PC."BackupUsers_Xcopy_Daily_scheduled" 
-        $LocalStatus = $PC.'Strat�gie de groupe locale' +        $LocalStatus = $PC."Stratégie de groupe locale" 
-        $ZStatus = $PC.'(Z:)_Shared_Folder' +        $ZStatus = $PC."(Z:)_Shared_Folder" 
-        $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 = "Backup Error : " + $BackupError         $BackupError = "Backup Error : " + $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 = "Default Domain Policy Error : " + $DefaultGpoError         $DefaultGpoError = "Default Domain Policy Error : " + $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~~
  • gporeport.1550573383.txt.gz
  • Dernière modification : 2019/02/19 09:49
  • (modification externe)