Vérifier rapidement l’état d’une relation d’approbation Active Directory

J’ai déjà mis à disposition un article pour vérifier, via un script, l’état de vos réplications Active Directory. Ce script est disponible ICI. Vous pouvez également consulter notre article sur le sujet « Audit Active Directory : Part 2 – les relations d’approbation ». Avec ce script, vous pouvez récupérer toutes les informations sur vos relations d’approbation et d’obtenir une synthèse au format CSV.

Toutefois, si vous voulez rapidement vérifier l’état d’un lien d’approbation entre deux domaines/forêts Active Directory, vous pouvez utiliser une simple requête WMI en PowerShell ou en VBS. Pour cela, nous allons utiliser le fournisseur WMI « TrustMon » (http://msdn.microsoft.com/en-us/library/windows/desktop/aa393921(v=vs.85).aspx), introduit avec Windows Server 2003 et plus particulièrement la classe « Microsoft_DomainTrustStatus » qui va permettre donc de recueillir des informations sur les relations d’approbation.

La requête WMI doit être exécutée idéalement sur le maître d’opération « Emulateur PDC ». Il va donc falloir l’identifier préalablement. Pour cela, exécuter la commande suivante « NETDOM query /domain:domaine.local fsmo ».

 

Une fois le maître d’opération « Emulateur PDC » identifié, vous pouvez exécuter la commande PowerShell suivante :

{codecitation style= »brush: powershell »}

Get-WMIObject –Namespace root\MicrosoftActiveDirectory –Class Microsoft_DomainTrustStatus `
–ComputerName emulateurPDC.domaine.local | ft TrustedDCName,TrustedDomain,TrustIsOk,TrustStatusString

{/codecitation}

 

 

La propriété « TrustIsOk » permet de valider l’état de la relation d’approbation et la propriété « TrustStatusString » va permettre d’avoir plus de détail sur une erreur éventuelle.

 

Si vous ne pouvez pas exécuter du PowerShell (ce qui serait quand même assez étonnant), vous pouvez utiliser le code ci-dessous au sein d’un fichier script VBS. Le script a été  généré à l’aide de l’outil Microsoft WMICodeCreator (http://www.microsoft.com/en-us/download/details.aspx?id=8572).

{codecitation style= »brush: vbs »}

strComputer = « emulateurPDC.mondomaine.local »

Set objWMIService = GetObject(« winmgmts:\\ » & strComputer & « \root\MicrosoftActiveDirectory »)

Set colItems = objWMIService.ExecQuery( _

« SELECT * FROM Microsoft_DomainTrustStatus »,,48)

For Each objItem in colItems

Wscript.Echo « ———————————–« 

Wscript.Echo « Microsoft_DomainTrustStatus instance »

Wscript.Echo « ———————————–« 

Wscript.Echo « TrustedDCName:  » & objItem.TrustedDCName

Wscript.Echo « TrustedDomain:  » & objItem.TrustedDomain

Wscript.Echo « TrustIsOk:  » & objItem.TrustIsOk

Wscript.Echo « TrustStatusString:  » & objItem.TrustStatusString

Next

{/codecitation}

Remarque : pensez à changer la variable strComputer en spécifiant votre contrôleur de domaine « Emulateur PDC ».

How to Find Active Directory Schema Update History by Using PowerShell