Eviter l’application d’un GPO critique lorsqu’un déploiement MDT est en cours

I. Présentation

Lors des processus de déploiement MDT, la machine est jointe au domaine et peut appliquer des stratégies de groupe (de niveau ordinateur) « critiques » comme par exemple la désactivation et/ou un changement de mot de passe du compte d’administrateur local. Ce qui aura pour effet de faire échouer le processus de déploiement MDT.

Pour éviter cet effet de bord, il existe plusieurs palliatifs, tels que différer la jonction au domaine : https://mdtguy.wordpress.com/2014/06/13/delaying-domain-join-when-legal-notices-break-mdt-autologin/ mais cette technique nécessite quelques ajustements au sein des scripts MDT et des séquences de taches.

Une autre technique consisterait à ajouter un filtrage WMI sur le(s) GPO concerné(s) qui aurait pour but de tester la présence (ou l’absence) d’un fichier, d’un dossier ou d’une clé de registre pouvant garantir qu’aucun processus de déploiement MDT est en cours.

Remarque : Il est compliqué, voire impossible de tester l’absence (NOT EXIST) d’un fichier, dossier ou clé de registre via un filtre WMI. En fait, l’usage d’une clause NOT au sein d’une requête WMI sur ces objets renverra un résultat du genre « tout sauf » et non un résultat « vide ». Cette absence de contenu est impérative pour que la condition (filtre WMI) soit considérée comme « fausse » et que le GPO ne s’applique pas. (Autres informations sur l’inversion d’un filtre WMI -> http://evilgpo.blogspot.in/2012/05/inverting-wmi-filters.html )

 

II. L’astuce = Controler l’emplacement des journaux MDT

L’emplacement des journaux MDT change en fonction de l’avancement du déploiement :

  • [Avant] sous WinPE : « X:\MININT\SMSOSD\OSDLOGS »
  • [Pendant] sur l’ordinateur « C:\MININT\SMSOSD\OSDLOGS »
  • [Après] sur l’ordinateur « %WINDIR%\TEMP\DeploymentLogs »

C’est donc le 3ème cas qui nous intéresse. Autrement dit, durant le déploiement MDT, le dossier « %WINDIR%\TEMP\DeploymentLogs » n’existe pas et le GPO associé à un filtre WMI approprié ne s’appliquera pas.

 

III. Le  filtre WMI approprié

Créer un filtre WMI, nommé par exemple « Ne pas appliquer le GPO si un deploiement MDT est en cours » en ajoutant la requête suivante :

"Select Name From Win32_Directory Where Name = 'C:\\Windows\\Temp\\DeploymentLogs'"
WMI-Filter1

Déclaration du filtre WMI

Il suffit ensuite d’associer ce filtre WMI au GPO concerné et le tour est joué.

WMI-Filter2

Association du filtre WMI au(x) GPO concerné(s)

 

IV. Précisions / Compléments

Dans le cas où vous fabriqueriez l’image WIM de référence à partir du MDT, pensez à exclure le dossier « %WINDIR%\TEMP\DeploymentLogs » du périmètre de capture. Pour cela, il suffit d’éditer le(s) fichier(s) « wimscript.ini »  situé(s) sous « %DEPLOYROOT%\Tools\x64 | x86 » et d’ajouter l’entrée comme suit :

[ExclusionList]
$ntfs.log
hiberfil.sys
pagefile.sys
winpepge.sys
"System Volume Information"
RECYCLER
UserMan.ini
LLU_Admin.Local.db
LLU_Admin.Network.db
\bootmgr
\Users\Administrator\AppData\Local\GDIPFONTCACHEV1.DAT
\Build
\idwlog
\InstalledRepository
\LTIBootstrap.vbs
\Packages
\partitions.txt
\sources
\Windows\CSC
\Windows.old
\Windows\Panther
\VLpackages
\MININT
\Boot
\_SMSTaskSequence
\Windows\Temp\DeploymentLogs

 

Bon déploiement à tous

2 Commentaires

  1. yannick

    Bonjour,

    Plutot dangereux comme méthode si des machines non pas été déployées par MDT …

    Répondre
    1. CxMan (Auteur de l'article)

      Bonjour Yannick,
      En fait, j’ai pris pour illustrer un GPO qui est censé s’appliquer sur tous les postes SAUF ceux qui sont en cours de déploiement. Pour moi, le risque est uniquement pour un déploiement en cours qui échouera si un GPO s’applique durant cette phase. Cela ne se vérifie que pour un GPO qui à une incidence sur le processus d’installation, tel que le changement de mot de passe ou la désactivation du compte administrateur local.
      C’était également un prétexte pour un exemple de filtrage WMI qui demeure une technique « marginale » à éviter mais particulièrement adaptée à des états transitoires. (sinon, il est aussi possible de ranger provisoirement les postes en cours d’intégration dans une OU temporaire afin de les sortir du périmètre 🙂 )
      A bientôt

      Répondre

Laisser un commentaire

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