Créer un trust unidirectionnel en Powershell facile non? (republication)

Le jour où j’ai vu Windows Core la première fois, je me suis dit que ce sera parfait quand toutes les applications Microsoft seront compatibles avec. C’était au moment des premières Beta de Windows 2008. Aujourd’hui avec Windows Server 2012, on peut dire que le rêve est devenu réalité, les principales applications Microsoft sont maintenant utilisables sur plateforme Windows sans interface graphique ou presque, …

Cette vision serait même parfaite si on pouvait tout administrer depuis un langage unifié : PowerShell. Pourquoi dis-je serait? Avec Windows Server 2012 et Power ShellPowerShell V3 on peut tout faire en PowerShell? Y a donc forcément une commande PowerShell pour créer un trust dans le commandlet ActiveDirectory?

Et là, c’est le drame. Recherche rapide sur le Technet pour découvrir que dans PowershellV3, il n’y a qu’une seule commande en relation avec les relations d’approbation : Get-ADTrust, nada pour en créer ou les gérer. Etrange mais pas dramatique, il reste la méthode “Old school”. On peut encore se rabattre sur le vieux NETDOM.EXE, faudra juste parser son retour pour savoir si la commande s’est bien déroulée. Bizarrement, ça se passe pas comme prévus (ça marche pas), et pour cause, l’aide de la commande “NETDOM.EXE” est très claire :

clip_image002

 

Même Microsoft recommande d’utiliser l’interface graphique, c’est un comble. A ce stade, ça se corse car je dois effectivement mettre en place une relation d’approbation entre deux forêts. Donc exit la méthode “Old School”. Va falloir ruser.

PowerShell, c’est aussi Dot.Net. Je passe donc du côté obscur de l’IT et me plonge dans le MSDN à la recherche d’une solution. Oh miracle, il existe une méthode Forest.CreateTrustRelationship. Il faut juste pouvoir l’appeler en PowerShell. Après quelques tâtonnements, cela donne cela :

clip_image004

 

Concrètement, je me positionne sur un contrôleur de domaine du domaine approuvant pour exécuter ce script et cela va automatiquement mettre en place ma relation d’approbation unidirectionnelle dans les deux domaines :

clip_image006

 

On peut vérifier dans le domaine approuvé avec la commande Powershell Get-ADTrust (il faut bien qu’elle serve à quelque chose) et on obtient le résultat ci-dessous :

clip_image008

 

La relation d’approbation unidirectionnelle entre mes deux forêts est donc opérationnelle.

Conclusion, Windows Core, c’est bien, Powershell aussi mais pour pouvoir réellement se passer des outils d’administration classiques, il faudra encore attendre car sur un serveur Windows Server 2012, on a bien l’aide de Powershell (si on a pensé à la télécharger dans son intégralité) mais il n’y a pas d’équivalent pour avoir le MSDN de la même manière.

Simple and Secure by design but Business compliant.

Benoit

Simple, yes, Secure Maybe, by design for sure, Business compliant always!

Les derniers articles par Benoit (tout voir)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.