Trucs et astuces techniques informatiques sur Microsoft Windows Server, Déploiements automatisés, Scripting...
2011-02-01
Selection Profiles avec l'assistant de déploiement Lite Touch.
Traduction d'un post de Michael Niehaus situé ici:
http://blogs.technet.com/b/mniehaus/archive/2010/06/11/selection-profiles-with-the-lite-touch-deployment-wizard.aspx
L'idée est de filtrer les listes d'applications qui sont affichées dans l'assistant.
C'est facile à faire en paramétrant la variable de Séquence de tâches "WizardSelectionProfile" via CustomSettings.ini pour spécifier le nom du profil de sélection qui doit être utilisé pour faire le filtrage: seuls les dossiers du profil de sélection seront affichés pour les séquences de tâches, les applications, et les language packs.
Ca marche bien si vous voulez faire du filtrage simple basé sur des règles, c'est à dire utiliser un profil de sélection pour chaque site. Mais imaginez que vous vouliez une liste différente d'item pour chaque Séquence de tâches, par exemple, une liste pour Windows XP et une autre pour Windows 7 et une pour Windows 7 x64. Cela paraît assez simple en créant une règle qui spécifie:
WizardSelectionProfile=%TaskSequenceID%
Si vous essayez, vous verrez que cela ne marche pas. C'est parce que la variable TaskSequenceID n'a pas été initialisée. CustomSettings.ini est traité AVANT l'affichage de l'assistant.
Ainsi, le faire marcher requiert une petite modification de script. Si vous regardez dans le dossier Scripts de votre partage de déploiement, vous trouverez un script nommé “DeployWiz_Initialization.vbs”. Recherchez la fonction “IsThereAtLeastOneApplicationPresent”. Dans cette fonction vous trouverez la ligne suivante:
oXMLAppList.sSelectionProfile = oEnvironment.Item("WizardSelectionProfile")
C'est ce qui instruit l'assistant de filtrer la liste des applications en utilisant la valeur spécifiée dans "WizardSelectionProfile".
Remplacer la ligne par celle-ci:
oXMLAppList.sSelectionProfile = oEnvironment.Substitute("For %TaskSequenceID%") ' MODIFIED
Cette ligne modifiée implique que vous ayez créé un profil de sélection pour chaque séquence de tâches. Par exemple, si vous avez créé une séquence de tâches nommée WIN7, vous devez créer un profil de sélection nommé FOR WIN7. Si un profil de sélection avec ce nom n'existe pas, vous verrez que la liste des applications est complètement vide. C'est parce que tous les dossiers seront filtrés par cette ligne:
set dXMLCollection = oXMLAppList.FindItems
Par précaution, vous devrez ajouter les quelques lignes suivantes après ça:
' INSERTED
If dXMLCollection.count = 0 then
oXMLAppList.sSelectionProfile = oEnvironment.Item("WizardSelectionProfile")
Set dXMLCollection = oXMLAppList.FindItems
End if
' END INSERTED
Ce code permet de retomber dans la valeur originale de la variable WizardSelectionProfile. Et ci cette valeur n'est pas renseignée, cela signifie "Affiche tous les items et les dossiers".
Remarquez que je marque les lignes changées et insérées; ce sont juste des commentaires qui aident à identifier les modifications faites aux script MDT standard. Cela rend les changements plus faciles à réintégrer dans les partages de déploiement après avoir mis à jour MDT avec de nouveaux upgrades ou des hotfix.
Inscription à :
Publier les commentaires (Atom)
Aucun commentaire:
Enregistrer un commentaire
Commentaires bienvenus !