# Objectifs du script # Analyse le résultat de la commande DCDIAG /V /E et produit 4 fichiers en sortie. # Le script doit être lancé sur une version anglaise de Windows. # Initialisation des fichiers à la valeur par défaut. $Connectivity = "OK" $Configuration = "OK" $Sysvol = "OK" $NTDS = "OK" # Stockage du résultat du DCDIAG dans une variable # Dans l'exemple ci dessous le script se connecte sur le contrôleur de domaine FR56DC2K12. A changer ! $dcdiagresu = dcdiag /v /e /s:FR56DC2k12 # Analyse du contenu de la variable foreach ($line in $dcdiagresu) { # Test disponibilité de l'annuaire if (($line.Contains("failed test Connectivity")) -or ($line.Contains("failed test Services"))) { $Connectivity = "KO" } # Test de la configuration Active Directory if (($line.Contains("failed test KnowsOfRoleHolders")) -or ($line.Contains("failed test MachineAccount")) -or ($line.Contains("failed test Advertising")) -or ($line.Contains("failed test RidManager")) -or ($line.Contains("failed test LocatorCheck"))) { $Configuration = "KO" } # Test de la réplication Sysvol if (($line.Contains("failed test DFSREvent")) -or ($line.Contains("failed test SysVolCheck")) -or ($line.Contains("failed test KccEvent")) -or ($line.Contains("failed test NetLogons")) -or ($line.Contains("failed test NCSecDesc"))) { $Sysvol = "KO" } # Test de la réplication NTDS if (($line.Contains("failed test ObjectsReplicated")) -or ($line.Contains("failed test Replications")) -or ($line.Contains("failed test Intersite"))) { $NTDS = "KO" } } # Ecriture des fichiers résultats $Connectivity | Out-File c:\Connectivity.txt -Force $Configuration | Out-File c:\Configuration.txt -Force $Sysvol | Out-File c:\Sysvol.txt -Force $NTDS | Out-File c:\NTDS.txt -Force