Déploiement d’OS avec SCCM : gestion de profils applicatifs

 

Dans la plupart des cas, le déploiement d’OS implique de devoir déployer des applications de tout type :

  • Applications communes (souvent mises dans le master)
  • Applications métiers (groupe d’applications devant être déployé en fonction du type d’utilisateur)
  • Applications à la demande (post déploiement)

Dans ce post, nous allons nous consacrer aux applications métiers, c’est-à-dire, les applications à déployer en fonction du type d’utilisateur. MDT peut être couplé à SCCM et facilite le déploiement des applications métiers à différents niveaux :

  • Utilisation de la base de données MDT : création de profils
  • Utilisation de la nouvelle fonctionnalité de MDT update 1 à savoir UDI

De nombreux blogs parlent déjà de ces aspects-là et je ne vais pas faire de la redite. Je vais donc vous expliquer une autre méthode qui est aussi souvent utilisée chez les clients avec SCCM.

Le principe est le suivant : utiliser des variables personnalisées pour gérer des profils (métiers, applicatifs ou autre). Il existe de multiples façons d’exploiter ces variables mais voici une possibilité :

  • Création d’une arborescence de collections avec comme nœud « Windows 7 - New OS » où l’advertisement (publication) de la séquence de tâche de déploiement « Windows 7: New OS » sera associé. Cette collection ne contiendra pas directement les machines. Des sous collections seront créés pour chaque profil.

clip_image001

Exemple des variables associées à une collection :

clip_image003

Remarque : il est aussi possible de mettre en place des variables personnalisées pour utiliser la fonctionnalité d’installation d’applications multiples (Install multiple applications). Pour chaque profil il suffit de créer une variable (exemple : Package) qui a pour valeur l’ID du package « : » Nom du programme (cf. schéma ci-dessus). Les applications pour chaque profil peuvent aussi être gérées au niveau de la séquence de tâches.

  • Création de la séquence de tâches (TS) : « Windows 7: New OS » permettant le déploiement de l’OS et des profils métiers. Il suffit ensuite de créer des groupes de tâches pour chaque profil et de créer des conditions pour chaque groupe. Ces groupes peuvent contenir des tâches d’installation d’applications (installation simple ou installation multiple), des tâches d’exécution de lignes de commande, tâches autres…

clip_image005

  • Création de la publication de la séquence de tâches sur la collection « Windows 7: New OS ». L’un des points importants est de cocher l’option qui propage la publication sur les sous collection.

clip_image007

Enfin il existe plusieurs méthodes pour provisionner la machine dans la bonne collection (collection Profil x), à savoir :

1. Durant le déploiement (phase WinPE en général) lancement d’un .hta permettant de rentrer les informations nécessaires pour ajouter la machine dans la collection :

o Dans le .hta, ajouter le code nécessaire pour pouvoir ajouter la machine dans la collection

o Le .hta appelle un Web service en passant en paramètre les informations requises. Solution que je recommande personnellement.

Ci-dessous un exemple de .hta :

clip_image009

Dans cet exemple, il est possible de sélectionner le profil dans une liste. Cette liste est construite à partir des sous collections de la collection racine : « Windows 7: New OS ». Ci-dessous un exemple de code permettant de récupérer la liste des sous collections et à intégrer dans le .hta :

clip_image011

Il ne reste plus qu’à créer la fonction permettant d’ajouter la machine dans la collection (=profil sélectionné) une fois que l’operateur clique sur le bouton « Validation ». Comme évoqué préalablement, cette fonction peut être soit ajoutée dans le .hta soit appelé dans un Web Service. Ci-dessous un exemple de code :

clip_image013

2. En amont du déploiement par un opérateur :

o Via la console :

clip_image014

clip_image016

clip_image018

clip_image020

o Via un script. Il est possible de s’appuyer sur l’exemple de code décrit ci-dessus pour la réalisation du bouton « Validation ».

Conclusion :

Comme vous le voyez il n’existe pas une seule manière de faire mais de nombreuses. Celle décrite en est une. Il est donc bien important de qualifier ce que vous désirez faire. A ne pas mettre de côté les méthodes qui n’ont pas été détaillées car elles peuvent être aussi intéressantes (intégration avec MDT UDI, utilisation de la base de données MDT, mise en place d’une base de données tierce…)

Tous les exemples (scripts, codes, screenshots) sont à modifier, personnaliser et tester afin de valider leur fonctionnement dans votre environnement.