vendredi 30 septembre 2011

Unleash the Power of MDT 2010/2012 – Part 7 : Web Services

bata486

MDT à la possibilité de collecter des information en utilisant un Web Service.

Un Web Service est un site web qui lorsqu’on lui envoie une requête via une URL, répond en renvoyant les informations sous la forme d’un Blob XML (ni plus, ni moins les données demandées formatée en XML).

Les données du Blob sont alors exploitables par MDT et peuvent êtres mises dans des variables.

Un web service peut être très pratique pour, par exemple : aller rechercher une information dans Active Directory ou une base SQL afin de configurer une machine en conséquence.

Le problème c’est que si aucun Web Service n’a été développé dans votre entreprise, alors, c’est qu'il n’en existe pas !

Quelque solutions pour vous faire la main existent  cependant:

Vous pouvez installer le Web Service de Maik Koster qui vous permettra non seulement de demander des informations sur la Base Active Directory, la database de MDT et celle de SCCM, mais également d’aller y écrire vos propres données.

Imaginez : vous souhaitez changer une machine d’OU..Hop ! une petite requête via le web service et le tour est joué. C’est beaucoup plus simple que d’avoir à utiliser les utilitaires classique (Tuto. de mise en place ici !).

Vous pouvez également utiliser des Web Services publique gratuit. Evidement leur intérêt est moindre dans la mesure ou les données qu’ils renvoient sont peut utiles lors d’un déploiement : Vous pouvez par exemple récupérer les donnée météorologique de votre ville, ou envoyer un code postal est recevoir ne nom de la ville en retour… l’intérêt reste donc limité mais vous permettra malgré tout de tester cette fonctionnalité MDT sans avoir à développer quoi que ce soit.

voici deux adresses pour vous faire la main :

La récupération de Blob XML est extrêmement simple et se configure via les Rules ; en indiquant l’URL du Web Service, et le sujet de la requête :

[Settings]
Priority=Default, Zip
Properties=USZip, City, State, Area_Code, Time_Zone

[Default]
USZip=98029

[Zip]
webService=http://www.webservicex.net/uszip.asmx/GetInfoByZip
Parameters=USZip

Les Propriétés City, State, Area_Code et Time_Zone seront automatiquement utilisées pour contenir les réponses du Web Service.

Ces Propriétés correspondent aux balises XML qui seront renvoyées dans la réponse :

xml blob

Vous pouvez, comme nous l’avons vu précédemment ; tester vos requetés sans avoir à lancer un déploiement complet :

Ouvrez une invite de commande en mode administrateur dans le sous répertoire Scripts de votre Deployment Share, et tapez :

Cscript ZTIGather.wsf /inifle:..\control\CustomSetting.ini

MDT va alors procéder à la collecte des informations du système ainsi que celle du Web Service. Vous pourrez constater que les données ont bien étés récupérées lors de l’exécution du script :zipcode

Ou dans les logs d’MDT dans C:\minint\smsosd\osdlogs\bdd.log (Utilisez Trace32 ou Trace64 pour clarifier la lecture.)

Voila, vous pouvez dés à présent utiliser les resultats de vos requetés comme des variables classique d’MDT, et les utiliser dans vos Rules, vos scripts et vos Task Sequence.

Notez également qu’MDT supporte les Web Services en HTTPS et qu’il est possible de spécifier des login/mot de passe pour s’y connecter.

Retrouvez-ci dessous l’ensemble des billets de la série “ Unleash the power of MDT2010/2012” :

Unleash the power of MDT 2010/2012 – Part 1 : Présentation
Unleash the power of MDT 2010/2012 – Part 2 : Tests & logs
Unleash the Power of MDT 2010/2012 – Part 3 : Securité
Unleash the Power of MDT 2010/2012 – Part 4 : CustomSettings.ini
Unleash the Power of MDT 2010/2012 – Part 5 : Applications
Unleash the Power of MDT 2010/2012 – Part 6 : SQL Database
Unleash the Power of MDT 2010/2012 – Part 7 : Web Services
Unleash the Power of MDT 2010/2012 – Part 8 : Scripts VBS
Unleash the Power of MDT 2010/2012 – Part 9 : UserExit Scripts
Unleash the Power of MDT 2010/2012 – Part 10 : WinPE