<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3146576442148488753</id><updated>2011-11-16T18:43:39.673+01:00</updated><category term='Formation'/><category term='PowerShell'/><category term='SQL'/><category term='Introducton MOF'/><category term='OpenXML'/><category term='Active Directory'/><category term='Exchange'/><category term='Revues de Gestion'/><category term='Phase Operate'/><category term='Phase Planification'/><category term='PowerShell 2'/><category term='Cycle de Vie des services'/><category term='IIS'/><category term='Niveau Manage'/><category term='Fonction de gestion de services'/><category term='Phase Deliver'/><category term='Solution Accelerator'/><title type='text'>Scripting Operations Framework</title><subtitle type='html'>Automatisation des bonnes pratiques Microsoft (MOF) à l'aide de PowerShell</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mouloud Amazit</name><uri>http://www.blogger.com/profile/14155493798205992403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>23</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-7530530151063910714</id><published>2009-04-26T11:21:00.001+02:00</published><updated>2009-04-26T11:21:53.978+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Formation'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Formation PowerShell #04 : Exchange Management Shell</title><content type='html'>Voici la quatrième session de la formation PowerShell en vidéo !&lt;br /&gt;Cette session est un peu spéciale puisqu'elle est dédiée à Exchange Management Shell.&lt;br /&gt;&lt;br /&gt;Exchange 2007 étant basé sur PowerShell, nous aborderons dans cette vidéo l'administration de ce serveur de messagerie en ligne de commande.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;object width="400" height="300"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4326796&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ff2b&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=4326796&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ff2b&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/center&gt;&lt;br /&gt;Vous pouvez retrouver l'ensemble des sessions &lt;a href="http://scriptingof.blogspot.com/search/label/Formation"&gt;ICI&lt;/a&gt; !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-7530530151063910714?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/7530530151063910714/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/04/formation-powershell-04-exchange.html#comment-form' title='4 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/7530530151063910714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/7530530151063910714'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/04/formation-powershell-04-exchange.html' title='Formation PowerShell #04 : Exchange Management Shell'/><author><name>Grégory Schiro</name><uri>http://www.blogger.com/profile/13622288244478060512</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_o9-Jc8qS7K0/SWZ25sSkRJI/AAAAAAAAAB8/1vw9G17Rj0A/S220/Sans+titre-2.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-5139322280233976449</id><published>2009-04-22T16:15:00.003+02:00</published><updated>2009-04-24T16:23:03.670+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Solution Accelerator'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Active Directory'/><title type='text'>Configuration du portail : Active Directory et SQL</title><content type='html'>La partie précédente de cet article se trouve &lt;a href="http://scriptingof.blogspot.com/2009/04/automatisation-de-iis.html"&gt;ICI&lt;/a&gt; !&lt;br /&gt;&lt;br /&gt;Nous arrivons à la dernière phase du déploiement de notre portail Web : la configuration !&lt;br /&gt;&lt;br /&gt;Biensûr, la configuration d'un portail dépend du portail lui-même mais aussi de l'environnement dans lequel il est déployé. Le sujet ici est simplement de voir certaines petites astuces en PowerShell autour d'Active Directory et de SQL !&lt;br /&gt;&lt;br /&gt;En effet, notre portail Web a besoin d'une unité organisationnelle (OU) dans notre Active Directory afin d'y rassembler les groupes qu'il utilise (par exemple le groupe des Administrateurs du portail !) ou encore d'exécuter certaines procédures stockées de notre base de données !&lt;br /&gt;&lt;br /&gt;Bref nous allons nous voir tout celà en détail !&lt;br /&gt;&lt;br /&gt;La première chose est de créer notre unité organisationnelle dédiée à notre portail :&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;Creates&amp;nbsp;Web&amp;nbsp;portal&amp;nbsp;prerequires&amp;nbsp;in&amp;nbsp;Active&amp;nbsp;Directory.&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;return&amp;gt;True&amp;nbsp;on&amp;nbsp;success,&amp;nbsp;false&amp;nbsp;otherwise&amp;lt;/return&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Configure-ADWebPortal()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;trap&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #000080'&gt;$_&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Exception&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Message&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;continue&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$true&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$CONST_GLOBAL_GRP&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$CONST_UNIV_GRP&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;8&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;'Creating&amp;nbsp;WebPortal&amp;nbsp;Organizational&amp;nbsp;Unit...'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objOU&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;[ADSI]&lt;span style='color: #800000'&gt;''&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objOU&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objOU&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Create(&lt;span style='color: #800000'&gt;'OrganizationalUnit'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'OU=WebPortal'&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objOU&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SetInfo()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Create-Group&amp;nbsp;&lt;span style='color: #000080'&gt;$objOU&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'AdmWebPortal'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'WebPortal&amp;nbsp;Administrators'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$CONST_UNIV_GRP&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;La fonction &lt;strong&gt;Configure-ADWebPortal&lt;/strong&gt; crée notre OU et un groupe dans celle-ci. Si vous avez suivi &lt;a href="http://scriptingof.blogspot.com/search/label/Formation"&gt;les formations PowerShell en vidéo&lt;/a&gt;, vous ne découvrez rien de neuf !&lt;br /&gt;&lt;br /&gt;Remarquez cependant qu'ici nous avons fait une petite fonction permettant de créer un groupe Active Directory dont voici le code :&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;Creates&amp;nbsp;an&amp;nbsp;Active&amp;nbsp;Directory&amp;nbsp;group.&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;param&amp;nbsp;name&amp;nbsp;="objOU"&amp;gt;The&amp;nbsp;container&amp;nbsp;(ADSI&amp;nbsp;object)&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;param&amp;nbsp;name&amp;nbsp;="strName"&amp;gt;Group's&amp;nbsp;name&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;param&amp;nbsp;name&amp;nbsp;="strDescription"&amp;gt;Group's&amp;nbsp;description&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;param&amp;nbsp;name&amp;nbsp;="intGroupType"&amp;gt;Group's&amp;nbsp;type&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Create-Group(&lt;span style='color: #000080'&gt;$objOU&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strName&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strDescription&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$intGroupType&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;trap&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Error&amp;nbsp;&lt;span style='color: #000080'&gt;$_&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Exception&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Message&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;continue&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"Creating&amp;nbsp;group&amp;nbsp;$strName..."&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objGroup&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objOU&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Create(&lt;span style='color: #800000'&gt;'Group'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"CN=$strName"&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objGroup&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Put(&lt;span style='color: #800000'&gt;'SamAccountName'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"$strName"&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objGroup&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Put(&lt;span style='color: #800000'&gt;'Description'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"$strDescription"&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objGroup&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Put(&lt;span style='color: #800000'&gt;'GroupType'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$intGroupType&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objGroup&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SetInfo()&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;Afin de pouvoir tracer d'éventuels problèmes, nous ajoutons des appels à nos fonctions affichant et loggant les informations.&lt;br /&gt;&lt;br /&gt;Dans notre exemple, le groupe créé est Universel. Pourquoi ? Peut-être que nous en ferons une liste de diffusion sous Exchange 2007 (très) prochainement...&lt;br /&gt;&lt;br /&gt;C'est très bien, nous avons réussi à créer des objets Active Directory, à exécuter des scripts SQL... et maintenant ?&lt;br /&gt;&lt;br /&gt;Nous allons modifier en masse et à la volée notre Active Directory et notre base de données ! En effet, le but de la prochaine fonction va être simple :&lt;ul&gt;&lt;li&gt;Récupération de toutes les OU dont le nom est normé d'une certaine manière&lt;br /&gt;&lt;li&gt;Création d'un groupe dans chacune de ces OU&lt;br /&gt;&lt;li&gt;Insertion du nom de l'OU traitée dans notre base de données en exécutant une procédure stockée !&lt;/ul&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;Synchronizes&amp;nbsp;SQL&amp;nbsp;database&amp;nbsp;and&amp;nbsp;Active&amp;nbsp;Directory.&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;param&amp;nbsp;name="objSQL"&amp;gt;SQL&amp;nbsp;connection&amp;nbsp;object&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;return&amp;gt;True&amp;nbsp;on&amp;nbsp;success,&amp;nbsp;false&amp;nbsp;otherwise&amp;lt;/return&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Synchronize-ADAndSQL(&lt;span style='color: #000080'&gt;$objSQL&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;trap&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Error&amp;nbsp;&lt;span style='color: #000080'&gt;$_&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Exception&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Message&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;continue&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$CST_GLB_GRP&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$true&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objEntry&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;[ADSI]&lt;span style='color: #800000'&gt;''&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Clean-Database&amp;nbsp;&lt;span style='color: #000080'&gt;$objSQL&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;foreach&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;in&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objEntry&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;psbase&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Children)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Name&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Value&amp;nbsp;&lt;span style='color: #C86400'&gt;-match&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"^(\w+\d+)_(\w+)$"&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strFullName&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$matches&lt;/span&gt;[&lt;span style='color: #800000'&gt;0&lt;/span&gt;]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strCode&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$matches&lt;/span&gt;[&lt;span style='color: #800000'&gt;1&lt;/span&gt;]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strName&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$matches&lt;/span&gt;[&lt;span style='color: #800000'&gt;2&lt;/span&gt;]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strDN&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;psbase&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Properties&lt;span style='color: #C86400'&gt;.&lt;/span&gt;DistinguishedName&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Value&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"OU&amp;nbsp;$strFullName&amp;nbsp;discovered"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strGroupName&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"$strCode"&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'_Administrators_WebPortal'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Create-Group&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"$strGroupName"&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"Admins&amp;nbsp;for&amp;nbsp;$strCode"&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$CST_GLB_GRP&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objAdapter&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;New-Object&lt;/span&gt;&amp;nbsp;Data&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SqlClient&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SqlDataAdapter&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objAdapter&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SelectCommand&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;New-Object&lt;/span&gt;&amp;nbsp;Data&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SqlClient&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SqlCommand&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objAdapter&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SelectCommand&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Connection&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSQL&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objAdapter&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SelectCommand&lt;span style='color: #C86400'&gt;.&lt;/span&gt;CommandText&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'[PR_ADDOU]'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objAdapter&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SelectCommand&lt;span style='color: #C86400'&gt;.&lt;/span&gt;CommandType&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[Data&lt;span style='color: #C86400'&gt;.&lt;/span&gt;CommandType]&lt;span style='color: #C86400'&gt;::&lt;/span&gt;StoredProcedure&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSqlParam&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Build-SQLParam&amp;nbsp;&lt;span style='color: #800000'&gt;'@OUCode'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strCode&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[void]&lt;span style='color: #000080'&gt;$objAdapter&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SelectCommand&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Parameters&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Add(&lt;span style='color: #000080'&gt;$objSqlParam&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSqlParam&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Build-SQLParam&amp;nbsp;&lt;span style='color: #800000'&gt;'@OUName'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strName&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[void]&lt;span style='color: #000080'&gt;$objAdapter&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SelectCommand&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Parameters&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Add(&lt;span style='color: #000080'&gt;$objSqlParam&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSqlParam&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Build-SQLParam&amp;nbsp;&lt;span style='color: #800000'&gt;'@OUDN'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strDN&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objAdapter&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SelectCommand&lt;span style='color: #C86400'&gt;.&lt;/span&gt;ExecuteNonQuery()&amp;nbsp;&lt;span style='color: #C86400'&gt;|&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;Out-Null&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;Le nom des OU est formatté en deux parties : un code et le nom de l'OU séparés par le caractère '_'. Notre procédure stockée nommée &lt;strong&gt;PR_ADDOU&lt;/strong&gt; prend en paramère ces informations et est exécutée : un bon moyen de séparer les traitements ; si le traitment côté SQL est modifié, le script PowerShell ne l'est pas !&lt;br /&gt;&lt;br /&gt;Ce petit Solution Accelerator de déploiement d'un portail Web n'est biensûr qu'un exemple mais grâce à lui, nous avons vu un cas pratique d'automatisation !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-5139322280233976449?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/5139322280233976449/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/04/configuration-du-portail-active.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/5139322280233976449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/5139322280233976449'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/04/configuration-du-portail-active.html' title='Configuration du portail : Active Directory et SQL'/><author><name>Grégory Schiro</name><uri>http://www.blogger.com/profile/13622288244478060512</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_o9-Jc8qS7K0/SWZ25sSkRJI/AAAAAAAAAB8/1vw9G17Rj0A/S220/Sans+titre-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-237174124815693697</id><published>2009-04-16T20:42:00.001+02:00</published><updated>2009-04-16T20:42:52.091+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Solution Accelerator'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Automatisation de IIS</title><content type='html'>La partie précédente de cet article se trouve &lt;a href="http://scriptingof.blogspot.com/2009/04/deploiement-de-la-base-de-donnees.html"&gt;ICI&lt;/a&gt; !&lt;br /&gt;&lt;br /&gt;Après avoir déployé notre base de données sur laquelle s'appuiera notre portail Web, nous allons nous occuper du site Web.&lt;br /&gt;&lt;br /&gt;En utilisant le deuxième menu...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_o9-Jc8qS7K0/SedrmFK5u2I/AAAAAAAAAGU/xh0Va243d8k/s1600-h/iis_automation.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 238px;" src="http://3.bp.blogspot.com/_o9-Jc8qS7K0/SedrmFK5u2I/AAAAAAAAAGU/xh0Va243d8k/s320/iis_automation.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5325343386356005730" /&gt;&lt;/a&gt;&lt;br /&gt;... Nous découvrons notre interface graphique nous permettant de déployer notre site :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_o9-Jc8qS7K0/SedrsaqpqcI/AAAAAAAAAGc/k-jotM5dW9E/s1600-h/iis_automation2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 238px;" src="http://4.bp.blogspot.com/_o9-Jc8qS7K0/SedrsaqpqcI/AAAAAAAAAGc/k-jotM5dW9E/s320/iis_automation2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5325343495205530050" /&gt;&lt;/a&gt;&lt;br /&gt;Là encore, l'interface est minimaliste. Les informations demandées sont :&lt;ul&gt;&lt;li&gt;Nom du serveur Web sur lequel déployer notre site,&lt;br /&gt;&lt;li&gt;Le port d'écoute,&lt;br /&gt;&lt;li&gt;Le chemin contenant les sources de notre site Web,&lt;br /&gt;&lt;li&gt;Un identifiant et un mot de passe qui seront utilisés pour le pool d'application.&lt;/ul&gt;Biensûr, les trois premiers champs sont pré-remplis.&lt;br /&gt;&lt;br /&gt;Intéressons-nous au code PowerShell !&lt;br /&gt;&lt;br /&gt;La première chose à faire est de vérifier que les informations renseignées sont correctes :&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;Checks&amp;nbsp;the&amp;nbsp;Web&amp;nbsp;part&amp;nbsp;parameters.&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;return&amp;gt;True&amp;nbsp;if&amp;nbsp;parameters&amp;nbsp;are&amp;nbsp;correct,&amp;nbsp;false&amp;nbsp;otherwise&amp;lt;/return&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Check-WebParameters()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$TxtWebServer&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Length&amp;nbsp;&lt;span style='color: #C86400'&gt;-gt&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;0&lt;/span&gt;)&amp;nbsp;&lt;span style='color: #C86400'&gt;-and&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;span style='color: #000080'&gt;$TxtWebPort&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Length&amp;nbsp;&lt;span style='color: #C86400'&gt;-gt&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;0&lt;/span&gt;)&amp;nbsp;&lt;span style='color: #C86400'&gt;-and&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;span style='color: #000080'&gt;$TxtWebPath&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Length&amp;nbsp;&lt;span style='color: #C86400'&gt;-gt&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;0&lt;/span&gt;)&amp;nbsp;&lt;span style='color: #C86400'&gt;-and&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;span style='color: #000080'&gt;$TxtWebLogin&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Length&amp;nbsp;&lt;span style='color: #C86400'&gt;-gt&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;0&lt;/span&gt;)&amp;nbsp;&lt;span style='color: #C86400'&gt;-and&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;span style='color: #000080'&gt;$TxtWebPassword&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Length&amp;nbsp;&lt;span style='color: #C86400'&gt;-gt&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;0&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$TxtWebServer&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&amp;nbsp;&lt;span style='color: #C86400'&gt;-match&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"^\w[\w\d-_]*$"&lt;/span&gt;)&amp;nbsp;&lt;span style='color: #C86400'&gt;-or&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;span style='color: #000080'&gt;$TxtWebServer&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&amp;nbsp;&lt;span style='color: #C86400'&gt;-match&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$"&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-error&amp;nbsp;&lt;span style='color: #800000'&gt;'Specified&amp;nbsp;server&amp;nbsp;name&amp;nbsp;is&amp;nbsp;invalid'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style='color: #C86400'&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$TxtWebPort&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&amp;nbsp;&lt;span style='color: #C86400'&gt;-match&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"^\d{1,5}$"&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-error&amp;nbsp;&lt;span style='color: #800000'&gt;'Specified&amp;nbsp;port&amp;nbsp;is&amp;nbsp;invalid'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style='color: #C86400'&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;Test-Path&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$TxtWebPath&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-error&amp;nbsp;&lt;span style='color: #800000'&gt;'Specified&amp;nbsp;Web&amp;nbsp;folder&amp;nbsp;is&amp;nbsp;invalid'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style='color: #C86400'&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strLogin&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$TxtWebLogin&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$strLogin&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Contains(&lt;span style='color: #800000'&gt;'\'&lt;/span&gt;))&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strLogin&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strLogin&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Split(&lt;span style='color: #800000'&gt;'\'&lt;/span&gt;)[&lt;span style='color: #800000'&gt;1&lt;/span&gt;]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objUser&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;SearchOne-InDomain&amp;nbsp;&lt;span style='color: #800000'&gt;''&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"(samaccountname=$strLogin)"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$objUser&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$null&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-error&amp;nbsp;&lt;span style='color: #800000'&gt;'Specified&amp;nbsp;user&amp;nbsp;doesn'&lt;/span&gt;&lt;span style='color: #800000'&gt;'t&amp;nbsp;exist&amp;nbsp;in&amp;nbsp;the&amp;nbsp;domain'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style='color: #C86400'&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-error&amp;nbsp;&lt;span style='color: #800000'&gt;'All&amp;nbsp;fields&amp;nbsp;are&amp;nbsp;required'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;La fonction &lt;strong&gt;Check-WebParameters&lt;/strong&gt; vérifie :&lt;ul&gt;&lt;li&gt;La validité du nom du serveur ou de l'adresse IP renseignée grâce à une expression régulière,&lt;br /&gt;&lt;li&gt;La validité du port (un nombre de 5 caractères maximum)&lt;br /&gt;&lt;li&gt;L'existence du compte utilisateur Active Directory renseigné. Cette dernière vérification est faite grâce à &lt;strong&gt;SearchOne-InDomain&lt;/strong&gt; qui est une petite fonction dont voici le code :&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;Searchs&amp;nbsp;one&amp;nbsp;object&amp;nbsp;in&amp;nbsp;an&amp;nbsp;Active&amp;nbsp;Directory&amp;nbsp;container.&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;param&amp;nbsp;name&amp;nbsp;="domainName"&amp;gt;The&amp;nbsp;container&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;param&amp;nbsp;name&amp;nbsp;="filter"&amp;gt;LDAP&amp;nbsp;filter&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;param&amp;nbsp;name&amp;nbsp;="scope"&amp;gt;The&amp;nbsp;scope&amp;nbsp;for&amp;nbsp;the&amp;nbsp;research&amp;nbsp;(optional)&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;returns&amp;gt;Active&amp;nbsp;Directory&amp;nbsp;object&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;SearchOne-InDomain(&lt;span style='color: #000080'&gt;$container&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$filter&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$scope&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;[DirectoryServices&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SearchScope]&lt;span style='color: #C86400'&gt;::&lt;/span&gt;Subtree)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;trap&lt;/span&gt;&amp;nbsp;{&amp;nbsp;&lt;span style='color: #C86400'&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$null&lt;/span&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$entry&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;New-Object&lt;/span&gt;&amp;nbsp;DirectoryServices&lt;span style='color: #C86400'&gt;.&lt;/span&gt;DirectoryEntry(&lt;span style='color: #800000'&gt;"$container"&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$searcher&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;New-Object&lt;/span&gt;&amp;nbsp;DirectoryServices&lt;span style='color: #C86400'&gt;.&lt;/span&gt;DirectorySearcher(&lt;span style='color: #000080'&gt;$entry&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$searcher&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;&lt;span style='color: #C86400'&gt;Filter&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$filter&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$searcher&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SearchScope&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$scope&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$searcher&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;FindOne()&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;Du déjà vu !&lt;/ul&gt;Bref une fois que nous avons vérifié que les informations renseignées sont correctes nous pouvons déployer notre site Web !&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;Installs&amp;nbsp;the&amp;nbsp;IIS&amp;nbsp;website.&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Deploy-WebServer()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Check-WebParameters&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;&lt;span style='color: #C86400'&gt;return&lt;/span&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Copy-Source&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;&lt;span style='color: #C86400'&gt;return&lt;/span&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$LblError&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;''&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strServer&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$TxtWebServer&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strPath&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$TxtWebPath&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strWebSiteName&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'Provisioning'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objLocator&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;New-Object&lt;/span&gt;&amp;nbsp;-com&amp;nbsp;WbemScripting&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SWbemLocator&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objProvider&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objLocator&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;ConnectServer(&lt;span style='color: #000080'&gt;$strServer&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'root/MicrosoftIISv2'&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objService&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objProvider&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Get(&lt;span style='color: #800000'&gt;"IIsWebService='W3SVC'"&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objBindings&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;@(&lt;span style='color: #000080'&gt;$objProvider&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Get(&lt;span style='color: #800000'&gt;'ServerBinding'&lt;/span&gt;)&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SpawnInstance_())&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objBindings&lt;/span&gt;[&lt;span style='color: #800000'&gt;0&lt;/span&gt;]&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Properties_&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Item(&lt;span style='color: #800000'&gt;'Port'&lt;/span&gt;)&lt;span style='color: #C86400'&gt;.&lt;/span&gt;value&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$TxtWebPort&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$createNewSiteMethod&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objService&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Methods_&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Item(&lt;span style='color: #800000'&gt;'CreateNewSite'&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objInParameters&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$createNewSiteMethod&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;InParameters&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SpawnInstance_()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objInParameters&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Properties_&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Item(&lt;span style='color: #800000'&gt;'PathOfRootVirtualDir'&lt;/span&gt;)&lt;span style='color: #C86400'&gt;.&lt;/span&gt;value&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strPath&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objInParameters&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Properties_&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Item(&lt;span style='color: #800000'&gt;'ServerBindings'&lt;/span&gt;)&lt;span style='color: #C86400'&gt;.&lt;/span&gt;value&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objBindings&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objInParameters&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Properties_&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Item(&lt;span style='color: #800000'&gt;'ServerComment'&lt;/span&gt;)&lt;span style='color: #C86400'&gt;.&lt;/span&gt;value&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strWebSiteName&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"Creating&amp;nbsp;new&amp;nbsp;WebSite&amp;nbsp;'$strWebSiteName'..."&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objOutParameters&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objService&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;ExecMethod_(&lt;span style='color: #800000'&gt;"CreateNewSite"&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objInParameters&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"WebSite&amp;nbsp;'$strWebSiteName'&amp;nbsp;created"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$id&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;''&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objOutParameters&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;properties_&amp;nbsp;&lt;span style='color: #C86400'&gt;|&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;%&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$id&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$_&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Value&amp;nbsp;&lt;span style='color: #C86400'&gt;-match&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"[^']'([^']+)'.*"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$id&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;&lt;span style='color: #000080'&gt;$id&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$matches&lt;/span&gt;[&lt;span style='color: #800000'&gt;1&lt;/span&gt;]&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$id&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;ToUpper()&amp;nbsp;&lt;span style='color: #C86400'&gt;-match&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"^W3SVC/\d+$"&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"Creating&amp;nbsp;new&amp;nbsp;Application&amp;nbsp;Pool&amp;nbsp;'$strWebSiteName'..."&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Create-ApplicationPool&amp;nbsp;&lt;span style='color: #000080'&gt;$strServer&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strWebSiteName&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"Configuring&amp;nbsp;Website&amp;nbsp;'$strWebSiteName'"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSite&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;[ADSI]&lt;span style='color: #800000'&gt;"IIS://$strServer/$id/Root"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSite&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Put(&lt;span style='color: #800000'&gt;"DefaultDoc"&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"Default.aspx"&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSite&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Put(&lt;span style='color: #800000'&gt;"AppPoolId"&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strWebSiteName&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objsite&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;put(&lt;span style='color: #800000'&gt;"AuthFlags"&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;4&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objsite&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Put(&lt;span style='color: #800000'&gt;"AppFriendlyName"&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strWebSiteName&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objsite&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Put(&lt;span style='color: #800000'&gt;"AccessFlags"&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;1&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objsite&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Put(&lt;span style='color: #800000'&gt;"AccessRead"&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$true&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objsite&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Put(&lt;span style='color: #800000'&gt;"AccessScript"&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$true&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objsite&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Put(&lt;span style='color: #800000'&gt;"AccessExecute"&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$true&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSite&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SetInfo()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;((&lt;span style='color: #C86400'&gt;Get-ChildItem&lt;/span&gt;&amp;nbsp;env&lt;span style='color: #C86400'&gt;:&lt;/span&gt;COMPUTERNAME)&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Value&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strServer&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set-FrameWorkVersion&amp;nbsp;&lt;span style='color: #000080'&gt;$id&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"WebSite&amp;nbsp;'$strWebSiteName'&amp;nbsp;successfully&amp;nbsp;created"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style='color: #C86400'&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"WebSite&amp;nbsp;'$strWebSiteName'&amp;nbsp;successfully&amp;nbsp;created.&amp;nbsp;"&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;+&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #800000'&gt;"You&amp;nbsp;need&amp;nbsp;to&amp;nbsp;manually&amp;nbsp;set&amp;nbsp;up&amp;nbsp;the&amp;nbsp;.Net&amp;nbsp;2&amp;nbsp;version"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style='color: #C86400'&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Error&amp;nbsp;&lt;span style='color: #800000'&gt;"Error&amp;nbsp;creating&amp;nbsp;Application&amp;nbsp;pool&amp;nbsp;'$strWebSiteName'"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"WebSite&amp;nbsp;'$strWebSiteName'&amp;nbsp;has&amp;nbsp;not&amp;nbsp;been&amp;nbsp;configured"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style='color: #C86400'&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Error&amp;nbsp;&lt;span style='color: #800000'&gt;"Invalid&amp;nbsp;WebSite&amp;nbsp;ID&amp;nbsp;($id)"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"WebSite&amp;nbsp;'$strWebSiteName'&amp;nbsp;has&amp;nbsp;not&amp;nbsp;been&amp;nbsp;configured"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;La fonction &lt;strong&gt;Deploy-WebSite&lt;/strong&gt; fait le travail ! Nous allons y jeter un petit coup d'oeil car c'est le plus intéressant !&lt;br /&gt;&lt;br /&gt;En début de fonction, nous utilisons &lt;strong&gt;Copy-Source&lt;/strong&gt; : c'est une petite fonction qui utilise la Cmdlet Copy-Item pour copier les sources de notre portail vers le dossier de notre futur site ; rien d'exceptionnel, alors nous continuons !&lt;br /&gt;&lt;br /&gt;Ensuite, vous pouvez remarquez que nous attaquons notre serveur IIS en ADSI. Celà rend cette fonction utilisable à partir de la version 6 de IIS.&lt;br /&gt;&lt;br /&gt;Dans cette fonction nous faisons donc les opérations suivantes :&lt;ul&gt;&lt;li&gt;Création du site Web avec un nom et un port d'écoute donné,&lt;br /&gt;&lt;li&gt;Création d'un pool d'application qu'utilisera notre site. Pour celà nous avons créé la fonction &lt;strong&gt;Create-ApplicationPool&lt;/strong&gt; :&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;Creates&amp;nbsp;the&amp;nbsp;IIS&amp;nbsp;application&amp;nbsp;pool.&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Create-ApplicationPool(&lt;span style='color: #000080'&gt;$strServer&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strAppPoolName&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;trap&lt;/span&gt;&amp;nbsp;[Exception]&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #000080'&gt;$_&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Exception&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Message&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;continue&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objApp&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;[ADSI]&lt;span style='color: #800000'&gt;"IIS://$strServer/W3SVC/AppPools/$strAppPoolName"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$objApp&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;distinguishedname&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$null&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strDomain&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;([ADSI]&lt;span style='color: #800000'&gt;''&lt;/span&gt;)&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Name&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Value&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objApp&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;[ADSI]&lt;span style='color: #800000'&gt;"IIS://$strServer/W3SVC/AppPools"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objPool&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objapp&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Create(&lt;span style='color: #800000'&gt;"IIsApplicationPool"&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strAppPoolName&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objPool&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Put(&lt;span style='color: #800000'&gt;'AppPoolIdentityType'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;3&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strLogin&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$TxtWebLogin&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$strLogin&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Contains(&lt;span style='color: #800000'&gt;'\'&lt;/span&gt;)&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$TxtWebLogin&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"$strDomain\$strLogin"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$TxtWebLogin&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Refresh()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style='color: #C86400'&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strLogin&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strLogin&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Split(&lt;span style='color: #800000'&gt;'\'&lt;/span&gt;)[&lt;span style='color: #800000'&gt;1&lt;/span&gt;]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"Setting&amp;nbsp;Application&amp;nbsp;pool&amp;nbsp;credentials&amp;nbsp;to&amp;nbsp;$strLogin..."&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objPool&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Put(&lt;span style='color: #800000'&gt;'WAMUserName'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$TxtWebLogin&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objPool&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Put(&lt;span style='color: #800000'&gt;'WAMUserPass'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$TxtWebPassword&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objPool&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SetInfo()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"Adding&amp;nbsp;user&amp;nbsp;$strLogin&amp;nbsp;to&amp;nbsp;group&amp;nbsp;IIS_WPG..."&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objGroup&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;[ADSI]&lt;span style='color: #800000'&gt;"WinNT://$strServer/IIS_WPG"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objGroup&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Add(&lt;span style='color: #800000'&gt;"WinNT://$strDomain/$strLogin"&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$true&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style='color: #C86400'&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"Application&amp;nbsp;pool&amp;nbsp;'$strAppPoolName'&amp;nbsp;already&amp;nbsp;exists."&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$true&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;Cette fonction ajoute également le compte utilisé par le pool d'application dans le groupe local IIS_WPG.&lt;br /&gt;&lt;li&gt;Configuration du site Web :&lt;ul&gt;&lt;li&gt;Page par défaut paramétrée à la page Default.aspx&lt;br /&gt;&lt;li&gt;Utilisation du pool d'application précédemment créé&lt;br /&gt;&lt;li&gt;Paramétrage de l'authentification Windows&lt;br /&gt;&lt;li&gt;Mise en place des droits de lecture et d'exécution&lt;/ul&gt;&lt;li&gt;Utilisation de la version 2 du framework .NET. Cette étape n'est faite que si notre Solution Accelerator est lancé depuis le serveur Web. La fonction &lt;strong&gt;Set-FrameworkVersion&lt;/strong&gt; configure notre site web pour qu'il utilise la version 2 :&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;Sets&amp;nbsp;the&amp;nbsp;.NET&amp;nbsp;framework&amp;nbsp;version&amp;nbsp;for&amp;nbsp;a&amp;nbsp;given&amp;nbsp;website.&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;param&amp;nbsp;name="strID"&amp;gt;Website&amp;nbsp;ID&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Set-FrameWorkVersion(&lt;span style='color: #000080'&gt;$strID&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strPath&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #C86400'&gt;Get-ChildItem&lt;/span&gt;&amp;nbsp;Env&lt;span style='color: #C86400'&gt;:&lt;/span&gt;windir)&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Value&amp;nbsp;&lt;span style='color: #C86400'&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'\Microsoft.NET\Framework\'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objDir&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;Get-ChildItem&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strPath&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;|&lt;/span&gt;&amp;nbsp;where&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;span style='color: #000080'&gt;$_&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;GetType()&lt;span style='color: #C86400'&gt;.&lt;/span&gt;ToString()&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'system.io.directoryinfo'&lt;/span&gt;)&amp;nbsp;&lt;span style='color: #C86400'&gt;-And&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;span style='color: #000080'&gt;$_&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;name&amp;nbsp;&lt;span style='color: #C86400'&gt;-match&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"^(v2.[\d\.]+)$"&lt;/span&gt;)}&amp;nbsp;&lt;span style='color: #C86400'&gt;|&lt;/span&gt;&amp;nbsp;sort&amp;nbsp;name&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$objDir&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-ne&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$null&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strPath&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;+=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$matches&lt;/span&gt;[&lt;span style='color: #800000'&gt;1&lt;/span&gt;]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strPath&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;+=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"\aspnet_regiis.exe"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSI&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;New-Object&lt;/span&gt;&amp;nbsp;System&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Diagnostics&lt;span style='color: #C86400'&gt;.&lt;/span&gt;ProcessStartInfo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSI&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;UseShellExecute&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSI&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;FileName&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strPath&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSI&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Arguments&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"-s&amp;nbsp;$strID/Root"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSI&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;RedirectStandardOutput&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$true&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objP&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;[System&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Diagnostics&lt;span style='color: #C86400'&gt;.&lt;/span&gt;&lt;span style='color: #C86400'&gt;Process&lt;/span&gt;]&lt;span style='color: #C86400'&gt;::&lt;/span&gt;Start(&lt;span style='color: #000080'&gt;$objSI&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objP&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;WaitForExit()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;Vous pouvez remarquer que nous exécutons le binaire aspnet_regiis.exe !&lt;br /&gt;&lt;/ul&gt;Biensûr, les erreurs sont affichées en bas de notre fenêtre si elles surviennent !&lt;br /&gt;&lt;br /&gt;Nous arrivons à la fin de l'automatisation de IIS... J'espère que ça n'a pas été trop long !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-237174124815693697?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/237174124815693697/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/04/automatisation-de-iis.html#comment-form' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/237174124815693697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/237174124815693697'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/04/automatisation-de-iis.html' title='Automatisation de IIS'/><author><name>Grégory Schiro</name><uri>http://www.blogger.com/profile/13622288244478060512</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_o9-Jc8qS7K0/SWZ25sSkRJI/AAAAAAAAAB8/1vw9G17Rj0A/S220/Sans+titre-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_o9-Jc8qS7K0/SedrmFK5u2I/AAAAAAAAAGU/xh0Va243d8k/s72-c/iis_automation.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-3233297941008656600</id><published>2009-04-08T20:16:00.002+02:00</published><updated>2009-04-08T20:22:44.638+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Solution Accelerator'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Déploiement de la base de données</title><content type='html'>La partie précédente de cet article se trouve &lt;a href="http://scriptingof.blogspot.com/2009/03/automatisation-du-deploiement-dun.html"&gt;ICI&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Avant de déployer notre site Web, nous devons installer la base de données : quel portail Web ne possède pas de base de données aujourd'hui ? :)&lt;br /&gt;&lt;br /&gt;Pour celà, notre Solution Accelerator va faire le travail pour nous. Dans l'article précédent, je vous ai présenté l'interface graphique : nous allons donc l'utiliser !&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_o9-Jc8qS7K0/SdpTQbvkfVI/AAAAAAAAAFU/XY3k9SKl9Xs/s1600-h/WebPortalAutomation_SQL.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 239px;" src="http://2.bp.blogspot.com/_o9-Jc8qS7K0/SdpTQbvkfVI/AAAAAAAAAFU/XY3k9SKl9Xs/s320/WebPortalAutomation_SQL.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5321657451481955666" /&gt;&lt;/a&gt;Nous allons cliquer sur notre premier menu afin de pouvoir déployer notre base de données !&lt;br /&gt;&lt;br /&gt;Nous découvrons donc l'interface graphique dédiée :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_o9-Jc8qS7K0/Sdprt5JTnQI/AAAAAAAAAFc/tP3OKgZfaok/s1600-h/WebPortalAutomation_DeploySQL.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 238px;" src="http://3.bp.blogspot.com/_o9-Jc8qS7K0/Sdprt5JTnQI/AAAAAAAAAFc/tP3OKgZfaok/s320/WebPortalAutomation_DeploySQL.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5321684345869802754" /&gt;&lt;/a&gt;Elle est volontairement sobre !&lt;br /&gt;En effet, nous n'avons qu'à saisir le nom du serveur SQL ainsi que le nom de l'instance et cliquer sur &lt;strong&gt;OK&lt;/strong&gt;...&lt;br /&gt;&lt;br /&gt;Dans cette interface, nous avons tout de même prévu de pouvoir spécifier le compte avec lequel faire ce déploiement : visible tout en haut de la fenêtre. En effet, nous avons la possibilité d'utiliser les informations de connexion de l'utilisateur courant ou bien d'en spécifier d'autres.&lt;br /&gt;&lt;br /&gt;Vous pouvez remarquer qu'en bas de la fenêtre il y a un grand espace vide... Nous n'allons pas le laisser vide ! En effet, cette zone est en fait réservée à l'affichage des informations et des erreurs !&lt;br /&gt;Chaque étape du script est décrite dans cette zone ainsi que les éventuelles erreurs : ce sont les fonctions &lt;strong&gt;Display-Info&lt;/strong&gt; ou &lt;strong&gt;Display-Error&lt;/strong&gt; qui s'en chargeront :&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;Adds&amp;nbsp;a&amp;nbsp;log.&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;param&amp;nbsp;name="str"&amp;gt;Message&amp;nbsp;to&amp;nbsp;add&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;param&amp;nbsp;name="strType"&amp;gt;Message&amp;nbsp;type&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Log-Message(&lt;span style='color: #000080'&gt;$str&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strType&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strDate&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;[DateTime]&lt;span style='color: #C86400'&gt;::&lt;/span&gt;Now&lt;span style='color: #C86400'&gt;.&lt;/span&gt;ToString(&lt;span style='color: #800000'&gt;'G'&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strType&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strType&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;ToUpper()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strLine&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"[$strDate]&amp;nbsp;$strType:&amp;nbsp;$str"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;Write-Verbose&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strLine&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$script&lt;/span&gt;&lt;span style='color: #C86400'&gt;:&lt;/span&gt;strLog&amp;nbsp;&lt;span style='color: #C86400'&gt;+=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strLine&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"`r`n"&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;Displays&amp;nbsp;error&amp;nbsp;message.&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;param&amp;nbsp;name="str"&amp;gt;Message&amp;nbsp;to&amp;nbsp;display&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Display-Error(&lt;span style='color: #000080'&gt;$str&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$LblInfo&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;''&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$LblError&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$str&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$LblError&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Refresh()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Log-Message&amp;nbsp;&lt;span style='color: #000080'&gt;$str&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'Error'&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;Display&amp;nbsp;information&amp;nbsp;message.&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;param&amp;nbsp;name="str"&amp;gt;Message&amp;nbsp;to&amp;nbsp;display&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Display-Info(&lt;span style='color: #000080'&gt;$str&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$LblInfo&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$str&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$LblInfo&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Refresh()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Log-Message&amp;nbsp;&lt;span style='color: #000080'&gt;$str&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'Info'&lt;/span&gt;&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;Biensûr ces informations et erreurs sont enregistrées dans nos logs, d'où la fonction &lt;strong&gt;Log-Message&lt;/strong&gt; qui ne fait qu'ajouter une date de génération du message (information ou erreur) !&lt;br /&gt;&lt;br /&gt;Bref vous l'aurez compris, la traçabilité est importante et doit être présente dans nos scripts !&lt;br /&gt;&lt;br /&gt;Maintenant que la présentation de l'interface est faite, nous pouvons passer à la partie la plus interessante : le traitement fait en PowerShell lorsqu'on appuie sur le bouton !&lt;br /&gt;&lt;br /&gt;Avant tout, nous devons vérifier que nous avons tous les pré-requis nécessaires pour faire notre déploiement : les scripts SQL que nous exécuterons !&lt;br /&gt;&lt;br /&gt;Pour celà, nous allons déclarer quelques variables qui seront visibles dans tout notre script :&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;Path&amp;nbsp;to&amp;nbsp;current&amp;nbsp;script.&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #000080'&gt;$script&lt;/span&gt;&lt;span style='color: #C86400'&gt;:&lt;/span&gt;strPath&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$MyInvocation&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;MyCommand&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Path&lt;br /&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;SQL&amp;nbsp;scripts&amp;nbsp;to&amp;nbsp;execute&amp;nbsp;during&amp;nbsp;installation&amp;nbsp;step.&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;Order&amp;nbsp;is&amp;nbsp;essential.&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #000080'&gt;$script&lt;/span&gt;&lt;span style='color: #C86400'&gt;:&lt;/span&gt;arrSQLGenerateDBScripts&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'CreateDatabase.sql'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #800000'&gt;'ProvisioningDatabase.sql'&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;Installation&amp;nbsp;logs.&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #000080'&gt;$script&lt;/span&gt;&lt;span style='color: #C86400'&gt;:&lt;/span&gt;strLog&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;''&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;On peut remarquer ici l'utilisation de la variable &lt;strong&gt;$MyInvocation&lt;/strong&gt; très utile puisqu'elle nous donne des informations sur notre dernière commande : ici on récupère le chemin où se trouve notre script PowerShell !&lt;br /&gt;&lt;br /&gt;La variable &lt;strong&gt;arrSQLGenerateDBScripts&lt;/strong&gt; contient une liste ordonnée de nos scripts SQL.&lt;br /&gt;&lt;br /&gt;Enfin, &lt;strong&gt;strLog&lt;/strong&gt; est une simple chaîne de caractères qui fera office de log (il faut garder une trace des actions et des erreurs !).&lt;br /&gt;&lt;br /&gt;Nous allons dans un premier temps vérifier que les fichiers sont présents :&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;Checks&amp;nbsp;SQL&amp;nbsp;files.&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;return&amp;gt;True&amp;nbsp;on&amp;nbsp;success,&amp;nbsp;false&amp;nbsp;otherwise&amp;lt;/return&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Check-SQLFiles()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;trap&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$blnRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;continue&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$tab&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$script&lt;/span&gt;&lt;span style='color: #C86400'&gt;:&lt;/span&gt;strPath&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Split(&lt;span style='color: #800000'&gt;'\'&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strPath&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;''&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$i&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;0&lt;/span&gt;;&amp;nbsp;&lt;span style='color: #000080'&gt;$i&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-lt&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$tab&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;length&amp;nbsp;&lt;span style='color: #C86400'&gt;-&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;2&lt;/span&gt;;&amp;nbsp;&lt;span style='color: #000080'&gt;$i&lt;/span&gt;&lt;span style='color: #C86400'&gt;+&lt;/span&gt;&lt;span style='color: #C86400'&gt;+&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strPath&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;+=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$tab&lt;/span&gt;[&lt;span style='color: #000080'&gt;$i&lt;/span&gt;]&amp;nbsp;&lt;span style='color: #C86400'&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'\'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$blnRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$true&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$true&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"Checking&amp;nbsp;files&amp;nbsp;in&amp;nbsp;$strPath..."&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$script&lt;/span&gt;&lt;span style='color: #C86400'&gt;:&lt;/span&gt;arrSQLGenerateDBScripts&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Length&amp;nbsp;&lt;span style='color: #C86400'&gt;-gt&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;0&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;foreach&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$strFile&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;in&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$script&lt;/span&gt;&lt;span style='color: #C86400'&gt;:&lt;/span&gt;arrSQLGenerateDBScripts)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;Test-Path&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"$strPath\Database\$strFile"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;&lt;span style='color: #C86400'&gt;break&lt;/span&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$blnRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$blnRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-and&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$blnRes&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"Installation&amp;nbsp;files&amp;nbsp;successfully&amp;nbsp;checked"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style='color: #C86400'&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Error&amp;nbsp;&lt;span style='color: #800000'&gt;"Installation&amp;nbsp;files&amp;nbsp;missing."&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$blnRes&lt;/span&gt;&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;Cette fonction vérifie que nos scripts SQL contenus dans la variable de script existent dans le répertoire &lt;strong&gt;../Database&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Maintenant que nous sommes certains de la présence de nos scripts à exécuter nous allons... les exécuter ! :)&lt;br /&gt;Pour celà, nous devons biensûr nous connecter à notre base de données grâce à une chaîne de connexion :&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;Generate&amp;nbsp;the&amp;nbsp;SQL&amp;nbsp;connection&amp;nbsp;string.&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;param&amp;nbsp;name="strDB"&amp;gt;Database&amp;nbsp;name&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;return&amp;gt;SQL&amp;nbsp;connection&amp;nbsp;string&amp;lt;/return&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Generate-StringConnection(&lt;span style='color: #000080'&gt;$strDB&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strInstance&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$TxtDBServer&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$TxtDBInstance&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Length&amp;nbsp;&lt;span style='color: #C86400'&gt;-gt&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;0&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strInstance&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;+=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'\'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$TxtDBInstance&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strInstance&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strInstance&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;ToUpper()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objBuilder&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;New-Object&lt;/span&gt;&amp;nbsp;System&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Data&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SqlClient&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SqlConnectionStringBuilder&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objBuilder&lt;/span&gt;[&lt;span style='color: #800000'&gt;'Application&amp;nbsp;Name'&lt;/span&gt;]&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'Web&amp;nbsp;Portal'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objBuilder&lt;/span&gt;[&lt;span style='color: #800000'&gt;'Data&amp;nbsp;Source'&lt;/span&gt;]&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strInstance&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objBuilder&lt;/span&gt;[&lt;span style='color: #800000'&gt;'Initial&amp;nbsp;Catalog'&lt;/span&gt;]&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strDB&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$ChkWindowsAuth&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Checked&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objBuilder&lt;/span&gt;[&lt;span style='color: #800000'&gt;'User&amp;nbsp;Id'&lt;/span&gt;]&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$TxtLogin&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objBuilder&lt;/span&gt;[&lt;span style='color: #800000'&gt;'Password'&lt;/span&gt;]&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$TxtPassword&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style='color: #C86400'&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objBuilder&lt;/span&gt;[&lt;span style='color: #800000'&gt;'Integrated&amp;nbsp;Security'&lt;/span&gt;]&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$true&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objBuilder&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;ConnectionString&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;Cette fonction prend en paramètre le nom de la base de données qui sera affecté au paramètre "Initial Catalog" de notre chaîne de connexion.&lt;br /&gt;Vous pouvez remarquer que si aucun nom d'instance n'est renseigné dans l'interface graphique, nous utilisons le nom du serveur (instance par défaut !).&lt;br /&gt;&lt;br /&gt;Ensuite, nous pouvons écrire notre fonction qui va exécuter un script SQL :&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;Executes&amp;nbsp;a&amp;nbsp;SQL&amp;nbsp;script.&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;param&amp;nbsp;name="strScript"&amp;gt;Script&amp;nbsp;full&amp;nbsp;name&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;param&amp;nbsp;name="objSQL"&amp;gt;SQL&amp;nbsp;connection&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;return&amp;gt;True&amp;nbsp;on&amp;nbsp;success,&amp;nbsp;false&amp;nbsp;otherwise&amp;lt;/return&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Execute-SQLScript(&lt;span style='color: #000080'&gt;$objSQL&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strScript&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;trap&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Error&amp;nbsp;&lt;span style='color: #000080'&gt;$_&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Exception&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Message&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;continue&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;Test-Path&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strScript&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"Executing&amp;nbsp;script&amp;nbsp;$strScript..."&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSQLCmd&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;New-Object&lt;/span&gt;&amp;nbsp;System&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Data&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SqlClient&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SqlCommand&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSQLCmd&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Connection&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSQL&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strContent&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;''&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;foreach&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$strLine&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;in&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;Get-Content&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strScript&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;&lt;span style='color: #C86400'&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$strLine&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;ToUpper()&amp;nbsp;&lt;span style='color: #C86400'&gt;-match&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"^\s*GO\s*$"&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSQLCmd&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;CommandText&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strContent&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSQLCmd&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;ExecuteNonQuery()&amp;nbsp;&lt;span style='color: #C86400'&gt;|&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;Out-Null&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strContent&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;''&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style='color: #C86400'&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strContent&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;+=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strLine&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"`r`n"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style='color: #C86400'&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$LblError&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"File&amp;nbsp;$strScript&amp;nbsp;not&amp;nbsp;found"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;Il y a plusieurs méthodes pour exécuter un script. Ici nous avons choisi de lire le fichier SQL ligne par ligne et exécuter le résultat de notre lecture dès que nous rencontrons l'instruction SQL "GO".&lt;br /&gt;&lt;br /&gt;C'est l'occasion de voir une expression régulière !&lt;br /&gt;Rapidement, "^\s*GO\s*$" signifie que nous cherchons à identifier une chaîne de caractères contenant le mot GO entouré ou non d'espaces !&lt;br /&gt;&lt;br /&gt;Comme il est toujours intéressant de savoir si notre script s'est bien exécuté, cette fonction retourne un booléen nous donnant cette information :)&lt;br /&gt;&lt;br /&gt;Bref, nous avons tous les élements en main pour déployer notre base de données :&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;Installs&amp;nbsp;the&amp;nbsp;SQL&amp;nbsp;database.&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #008000'&gt;###&amp;nbsp;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Install-Database()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;trap&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Error&amp;nbsp;&lt;span style='color: #000080'&gt;$_&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Exception&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Message&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;((&lt;span style='color: #000080'&gt;$objSQL&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-ne&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$null&lt;/span&gt;)&amp;nbsp;&lt;span style='color: #C86400'&gt;-and&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;span style='color: #000080'&gt;$objSQL&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;State&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;[Data&lt;span style='color: #C86400'&gt;.&lt;/span&gt;ConnectionState]&lt;span style='color: #C86400'&gt;::&lt;/span&gt;Open))&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSQL&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Close()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;continue&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$LblError&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Text&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;''&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSQL&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;New-Object&lt;/span&gt;&amp;nbsp;System&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Data&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SqlClient&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SqlConnection&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSQL&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;ConnectionString&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Generate-StringConnection&amp;nbsp;&lt;span style='color: #800000'&gt;'master'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"Opening&amp;nbsp;database&amp;nbsp;connection..."&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSQL&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Open()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$objSQL&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;State&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;[Data&lt;span style='color: #C86400'&gt;.&lt;/span&gt;ConnectionState]&lt;span style='color: #C86400'&gt;::&lt;/span&gt;Open)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strPath&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Get-SQLScriptPath&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;foreach&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$strScript&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;in&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$script&lt;/span&gt;&lt;span style='color: #C86400'&gt;:&lt;/span&gt;arrSQLGenerateDBScripts)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Execute-SQLScript&amp;nbsp;&lt;span style='color: #000080'&gt;$objSQL&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"$strPath\$strScript"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;&lt;span style='color: #C86400'&gt;break&lt;/span&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSQL&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Close()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"Database&amp;nbsp;connection&amp;nbsp;closed"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"Database&amp;nbsp;successfully&amp;nbsp;installed"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style='color: #C86400'&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Error&amp;nbsp;&lt;span style='color: #800000'&gt;"Error&amp;nbsp;executing&amp;nbsp;script&amp;nbsp;$strPath\$strScript."&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Display-Info&amp;nbsp;&lt;span style='color: #800000'&gt;"Database&amp;nbsp;installation&amp;nbsp;aborted"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;Nous sommes à la fin !&lt;br /&gt;&lt;br /&gt;Cette fonction se sert donc de ce que nous avons vu avant et deploie notre base de données en plusieurs étapes :&lt;ul&gt;&lt;li&gt;Création de la chaîne de connexion à la base de données&lt;br /&gt;&lt;li&gt;Ouverture de la connexion à la base de données&lt;br /&gt;&lt;li&gt;Exécution des scripts SQL&lt;br /&gt;&lt;li&gt;Fermeture de la connexion à la base de données&lt;/ul&gt;&lt;br /&gt;Tout celà en affichant les étapes et les éventuelles erreurs dans notre fenêtre graphique !&lt;br /&gt;&lt;br /&gt;Il ne nous reste plus qu'à déployer notre portail web en automatisant IIS ! Rendez-vous donc au prochain article !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-3233297941008656600?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/3233297941008656600/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/04/deploiement-de-la-base-de-donnees.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/3233297941008656600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/3233297941008656600'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/04/deploiement-de-la-base-de-donnees.html' title='Déploiement de la base de données'/><author><name>Grégory Schiro</name><uri>http://www.blogger.com/profile/13622288244478060512</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_o9-Jc8qS7K0/SWZ25sSkRJI/AAAAAAAAAB8/1vw9G17Rj0A/S220/Sans+titre-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_o9-Jc8qS7K0/SdpTQbvkfVI/AAAAAAAAAFU/XY3k9SKl9Xs/s72-c/WebPortalAutomation_SQL.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-8209906406961935391</id><published>2009-03-31T21:28:00.005+02:00</published><updated>2009-03-31T21:52:04.664+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Solution Accelerator'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Automatisation du déploiement d'un portail Web</title><content type='html'>Déployer un portail web n'est pas toujours très simple. Il faut vérifier que tous les pré-requis sont installés, faire le déploiement, vérifier la configuration... et encore, j'en oublie :)&lt;br /&gt;&lt;br /&gt;Ce que nous chercherons à faire ici est par contre très simple : déployer un portail Web en appuyant sur un bouton... et tant qu'à faire, le bouton sera joli !&lt;br /&gt;&lt;br /&gt;Vous l'aurez compris, c'est une sorte de "Solution Accelerator" (terme à la mode :p) que nous allons créer !&lt;br /&gt;&lt;br /&gt;A quoi va ressembler notre interface graphique ? Voyons voir...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_o9-Jc8qS7K0/SdJyRTY1E4I/AAAAAAAAAFM/v_07IOEsIBI/s1600-h/WebPortalAutomation.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 239px;" src="http://3.bp.blogspot.com/_o9-Jc8qS7K0/SdJyRTY1E4I/AAAAAAAAAFM/v_07IOEsIBI/s320/WebPortalAutomation.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5319439751465735042" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;L'interface est simple mais efficace ! Elle met en évidence les trois étapes que nous détaillerons dans les articles à venir :&lt;ul&gt;&lt;li&gt;Déploiement de la base de données (exécution de script SQL)&lt;br /&gt;&lt;li&gt;Déploiement du portail Web (automatisation de IIS)&lt;br /&gt;&lt;li&gt;Configuration du portail (interaction avec Active Directory et l'Univers...)&lt;/ul&gt;Le décor est planté, il ne reste plus qu'à ouvrir notre session PowerShell !&lt;br /&gt;&lt;br /&gt;A très bientôt pour notre première étape !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-8209906406961935391?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/8209906406961935391/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/03/automatisation-du-deploiement-dun.html#comment-form' title='5 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/8209906406961935391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/8209906406961935391'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/03/automatisation-du-deploiement-dun.html' title='Automatisation du déploiement d&apos;un portail Web'/><author><name>Grégory Schiro</name><uri>http://www.blogger.com/profile/13622288244478060512</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_o9-Jc8qS7K0/SWZ25sSkRJI/AAAAAAAAAB8/1vw9G17Rj0A/S220/Sans+titre-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_o9-Jc8qS7K0/SdJyRTY1E4I/AAAAAAAAAFM/v_07IOEsIBI/s72-c/WebPortalAutomation.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-7497847892796930269</id><published>2009-03-18T21:22:00.006+01:00</published><updated>2009-03-18T21:38:29.025+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Niveau Manage'/><title type='text'>Niveau Manage</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_1SaH5f6NrPQ/ScFYJg2OBnI/AAAAAAAAADE/LBQXXflFSpo/s1600-h/Niveau-Manage.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 238px; height: 320px;" src="http://4.bp.blogspot.com/_1SaH5f6NrPQ/ScFYJg2OBnI/AAAAAAAAADE/LBQXXflFSpo/s320/Niveau-Manage.jpg" alt="" id="BLOGGER_PHOTO_ID_5314625955733309042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CUsers%5Cmamazit%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///C:%5CUsers%5Cmamazit%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CUsers%5Cmamazit%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:donotshowrevisions/&gt;   &lt;w:donotprintrevisions/&gt;   &lt;w:donotshowmarkup/&gt;   &lt;w:donotshowcomments/&gt;   &lt;w:donotshowinsertionsanddeletions/&gt;   &lt;w:donotshowpropertychanges/&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;FR&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:612.0pt 792.0pt; 	margin:70.85pt 70.85pt 70.85pt 70.85pt; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:263998028; 	mso-list-template-ids:936177372;} @list l0:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:36.0pt; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	mso-ansi-font-size:10.0pt; 	font-family:Symbol;} @list l1 	{mso-list-id:465976734; 	mso-list-template-ids:618970648;} @list l1:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:36.0pt; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	mso-ansi-font-size:10.0pt; 	font-family:Symbol;} @list l2 	{mso-list-id:673536560; 	mso-list-template-ids:1097232326;} @list l2:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:36.0pt; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	mso-ansi-font-size:10.0pt; 	font-family:Symbol;} ol 	{margin-bottom:0cm;} ul 	{margin-bottom:0cm;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tableau Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-fareast-language:EN-US;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;Nous allons clore notre aperçu des différentes phases constituant le cycle de vie des services de la version 4 de MOF. Une fois ces phases appropriées, j'essaierai de vous présenter les processus intégrés à chacune de ces phases en adoptant une présentation moins théorique. En effet l'objectif de ce blog, outre le fait de vous initier au PowerShell et aux fondamentaux de MOF/ITIL est surtout de vous démontrer l'efficacité de leur association. Pour cela nous (Gregory et moi) vous présenterons des exemples pratiques d'associations de processus MOF et de scripts PowerShell.&lt;br /&gt;&lt;br /&gt;Terminons donc notre vue d'ensemble des phases par le niveau Manage.&lt;br /&gt;Bonne lecture. &lt;span style=";font-family:&amp;quot;;font-size:12;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Le niveau Manage intègre les processus de prise de décisions, de gestion des risques et de gestion du changement qui se produisent tout au long de la durée de vie des services IT. Il contient également les processus liés à la définition des rôles et responsabilités.&lt;br /&gt;Le niveau Manage représente le fondement de toutes les phases du cycle de vie. Le niveau Manage promeut la cohérence dans la planification et la fourniture de services IT et fournit les bases pour le développement et l'exploitation d’un environnement IT résilient.&lt;u1:p&gt;&lt;/u1:p&gt; &lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;L'objectif principal du niveau Manage est de mettre en place une approche intégrée des activités de la gestion des services IT. Cette approche permet de coordonner les processus décrits dans les trois phases du cycle de vie: &lt;i style=""&gt;Plan&lt;/i&gt;, &lt;i style=""&gt;Deliver&lt;/i&gt;, et &lt;i style=""&gt;Operate&lt;/i&gt;. Cette coordination est renforcée par:&lt;/p&gt;  &lt;u1:p&gt;&lt;/u1:p&gt;  &lt;ul style="margin-top: 0cm;" type="disc"&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;Le développement du processus de prise de décision&lt;/li&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;L’utilisation de la gestion des risques et des      contrôles dans le cadre de tous les processus&lt;/li&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;La promotion des processus de changement et de      configuration qui sont contrôlés&lt;/li&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;La division du travail afin que les responsabilités      soient claires et ne soient pas en conflit&lt;/li&gt;&lt;/ul&gt;  &lt;u1:p&gt;&lt;/u1:p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;br /&gt;Des conseils spécifiques sont fournis pour accroître la probabilité que: &lt;/p&gt;  &lt;u1:p&gt;&lt;/u1:p&gt;  &lt;ul style="margin-top: 0cm;" type="disc"&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;L'investissement informatique fournit la valeur      business attendue&lt;/li&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;Les décisions d’investissement et d’allocation des      ressources sont associées aux personnes appropriées&lt;/li&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;Il y a un niveau de risque acceptable&lt;/li&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;Des processus contrôlés et documentés sont utilisés&lt;/li&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;Les responsabilités sont communiqués et leur      propriétaire mis en évidence&lt;/li&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;Les politiques et les contrôles internes sont      efficaces et fiables&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;u1:p&gt;&lt;/u1:p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;u1:p&gt;&lt;/u1:p&gt;La réalisation de ces objectifs est plus susceptible d'être atteinte si l’informatique travaille à: &lt;/p&gt;  &lt;u1:p&gt;&lt;/u1:p&gt;  &lt;ul style="margin-top: 0cm;" type="disc"&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;Des structures de gouvernance IT explicites et des      processus&lt;/li&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;L'organisation IT et l'organisation des entreprises      partagent une approche commune pour la gestion des risques&lt;span style="line-height: 115%;font-family:&amp;quot;;font-size:11;"  &gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="line-height: 115%;font-family:&amp;quot;;font-size:11;"  &gt;Planification régulières des revues de gestion des politiques et des contrôles internes&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-7497847892796930269?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/7497847892796930269/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/03/niveau-manage.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/7497847892796930269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/7497847892796930269'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/03/niveau-manage.html' title='Niveau Manage'/><author><name>Mouloud Amazit</name><uri>http://www.blogger.com/profile/14155493798205992403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_1SaH5f6NrPQ/ScFYJg2OBnI/AAAAAAAAADE/LBQXXflFSpo/s72-c/Niveau-Manage.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-136114107438307930</id><published>2009-03-16T14:46:00.005+01:00</published><updated>2009-03-16T16:14:15.881+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Phase Operate'/><title type='text'>Objectifs de la Phase Operate</title><content type='html'>&lt;div&gt; &lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_1SaH5f6NrPQ/Sb5roxLvgNI/AAAAAAAAACw/84BGdH0TT-M/s1600-h/Phase_Operate.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 206px;" src="http://3.bp.blogspot.com/_1SaH5f6NrPQ/Sb5roxLvgNI/AAAAAAAAACw/84BGdH0TT-M/s320/Phase_Operate.jpg" alt="" id="BLOGGER_PHOTO_ID_5313802958485291218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;La phase Operate (Exploitation) du cycle de vie des services IT représente l'aboutissement des deux phases qui la précèdent. La phase Operate se concentre sur ce qu'il faut faire après la mise en place des services. Après le déploiement réussi d’un service IT, assumer qu'il fonctionne pour satisfaire les besoins et les attentes business devient la priorité des priorités. C'est l'objet de la phase Operate, qui repose sur quatre initiatives:&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Efficacité d’une gestion continue du service&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Surveillance proactive et continue de la santé du service&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Aide efficace et facilement accessible pour contribuer à l'utilisation du service&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Restauration d'un service vers un état fonctionnel lorsque les choses tournent mal&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;L'objectif principal de la phase Operate est de faire en sorte que les services soient déployés exploités, entretenus, soutenus et en ligne avec les objectifs d'accord de niveau de service (SLA) qui ont été acceptés entre le business et l’IT.&lt;br /&gt;&lt;p&gt;Concrètement, cela signifie de faire en sorte:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Que les services IT sont disponibles par l'amélioration de l'utilisation du personnel et une meilleure gestion de la charge de travail&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Que les services informatiques sont surveillés afin de fournir une observation en temps réel des conditions de santé et veiller à ce que les membres de l'équipe sont formés pour traiter les problèmes efficacement et rapidementQue les services IT sont rétablis rapidement et efficacement&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-136114107438307930?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/136114107438307930/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/03/objectifs-de-la-phase-operate.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/136114107438307930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/136114107438307930'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/03/objectifs-de-la-phase-operate.html' title='Objectifs de la Phase Operate'/><author><name>Mouloud Amazit</name><uri>http://www.blogger.com/profile/14155493798205992403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_1SaH5f6NrPQ/Sb5roxLvgNI/AAAAAAAAACw/84BGdH0TT-M/s72-c/Phase_Operate.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-5778862969848028789</id><published>2009-03-16T12:18:00.012+01:00</published><updated>2009-03-16T16:15:15.710+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Phase Deliver'/><title type='text'>Phase Deliver (Fourniture)</title><content type='html'>Après un apprentissage Powershell (je suis sûr que vous avez apprécié les 3 vidéos), nous allons reprendre la partie "Processus" avec la présentation de la Phase Deliver (Fourniture) de MOF v4. Allez c'est parti ....&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;a href="http://2.bp.blogspot.com/_o9-Jc8qS7K0/Sb5iaY3YuqI/AAAAAAAAAFE/V4KNf3PChFU/s1600-h/Phase_Deliver.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 233px;" src="http://2.bp.blogspot.com/_o9-Jc8qS7K0/Sb5iaY3YuqI/AAAAAAAAAFE/V4KNf3PChFU/s320/Phase_Deliver.png" alt="" id="BLOGGER_PHOTO_ID_5313792815834643106" border="0" /&gt;&lt;/a&gt;Après avoir acquis une solide planification pour la stratégie de service en place, vous pouvez commencer à créer de nouveaux services ou une mise à jour des services IT. L'objectif de la &lt;strong&gt;Phase Deliver&lt;/strong&gt; est d'aider les professionnels informatiques à travailler au sein d'une discipline de gestion de projet pour construire, stabiliser et déployer des services IT, des applications et des améliorations de l'infrastructure d’une manière la plus efficace possible.&lt;br /&gt;&lt;br /&gt;Imaginez le cycle de vie des services informatiques comme un continuum: il débute avec les efforts réalisés par l'informatique pour comprendre les services dont le business a besoin et se termine avec les services opérant dans un environnement de production. La phase Deliver, est la partie du continuum où les changements de services sont prévus, conçus, construits et déployés.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Objectifs et fonctions de la phase Deliver (Fourniture)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Les principaux objectifs de la phase Deliver sont d’assurer que les services IT, les projets d'infrastructure ou les déploiements de produits sont prévus, planifiés, construits, stabilisés, et déployés en fonction des exigences de l'entreprise et des spécifications du client.&lt;br /&gt;&lt;br /&gt;Concrètement, cela signifie faire en sorte que l'équipe du projet:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Capture les besoins et les exigences préalables à la planification d'une solution &lt;/li&gt;&lt;li&gt;Prépare une spécification fonctionnelle et une conception de la solution &lt;/li&gt;&lt;li&gt;Élabore des plans de travail, des estimations de coûts et des calendriers pour les livrables &lt;/li&gt;&lt;li&gt;Construit la solution au regard de la spécification du client, de sorte que toutes les fonctions soient complètes, et que la solution soit prête pour les tests externes et la stabilisation &lt;/li&gt;&lt;li&gt;Met en production la solution la plus qualitative en effectuant des tests et un pilote de mise en production &lt;/li&gt;&lt;li&gt;Déploie une solution stable dans l'environnement de production et stabilise la solution en production &lt;/li&gt;&lt;li&gt;Prépare les équipes opérations et support pour gérer et fournir le service client pour la solution. &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-5778862969848028789?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/5778862969848028789/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/03/phase-deliver-fourniture.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/5778862969848028789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/5778862969848028789'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/03/phase-deliver-fourniture.html' title='Phase Deliver (Fourniture)'/><author><name>Mouloud Amazit</name><uri>http://www.blogger.com/profile/14155493798205992403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_o9-Jc8qS7K0/Sb5iaY3YuqI/AAAAAAAAAFE/V4KNf3PChFU/s72-c/Phase_Deliver.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-4785956893583536561</id><published>2009-03-11T20:01:00.003+01:00</published><updated>2009-03-11T20:13:33.467+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Formation'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Formation PowerShell #03 : Automatisation et sécurité</title><content type='html'>Voici une nouvelle session de la "formation PowerShell" !&lt;br /&gt;&lt;br /&gt;Cette troisième session nous permet d'entrer dans le vif du sujet :&lt;ul&gt;&lt;li&gt;Automatisation d'applications avec les composants COM (exemples avec IE et Word 2007)&lt;br /&gt;&lt;li&gt;Personnalisation du profil&lt;br /&gt;&lt;li&gt;Notion de scripting : script d'audit des journaux d'évènements d'une machine distante&lt;br /&gt;&lt;li&gt;Gestion des erreurs&lt;br /&gt;&lt;li&gt;Création d'interface graphique&lt;br /&gt;&lt;li&gt;Sécurité : signature des scripts&lt;/ul&gt;&lt;center&gt;&lt;object width="400" height="300"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3577446&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ff2b&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=3577446&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ff2b&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;Bref, beaucoup de choses à voir dans cette session :)&lt;br /&gt;&lt;br /&gt;Vous pouvez trouver les deux premières sessions ici :&lt;ul&gt;&lt;li&gt;&lt;a href="http://scriptingof.blogspot.com/2009/03/formation-powershell-01-les-bases.html"&gt;Les bases&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://scriptingof.blogspot.com/2009/03/formation-powershell-02-son-si-en-ligne.html"&gt;Son SI en ligne de commande&lt;/a&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-4785956893583536561?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/4785956893583536561/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/03/formation-powershell-03-automatisation.html#comment-form' title='4 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/4785956893583536561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/4785956893583536561'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/03/formation-powershell-03-automatisation.html' title='Formation PowerShell #03 : Automatisation et sécurité'/><author><name>Grégory Schiro</name><uri>http://www.blogger.com/profile/13622288244478060512</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_o9-Jc8qS7K0/SWZ25sSkRJI/AAAAAAAAAB8/1vw9G17Rj0A/S220/Sans+titre-2.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-1425898837741566451</id><published>2009-03-06T19:37:00.008+01:00</published><updated>2009-03-06T20:31:25.935+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Formation'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Formation PowerShell #02 : Son SI en ligne de commande</title><content type='html'>Après avoir vu &lt;a href="http://scriptingof.blogspot.com/2009/03/formation-powershell-01-les-bases.html"&gt;les bases dans la vidéo précédente&lt;/a&gt;, nous allons voir un aperçu de ce que PowerShell est capable de faire !&lt;br /&gt;&lt;br /&gt;Dans cette deuxième session de la "formation PowerShell" nous verrons les points suivants :&lt;ul&gt;&lt;li&gt;Récupération d'informations logicielles et matérielles sur une machine distante&lt;br /&gt;&lt;li&gt;Questionner et peupler un annuaire Active Directory&lt;/ul&gt; Vous l'aurez donc compris, cette session est orientée Infrastructure !&lt;center&gt;&lt;br /&gt;&lt;object width="400" height="300"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3503820&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ff2b&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=3503820&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ff2b&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-1425898837741566451?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/1425898837741566451/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/03/formation-powershell-02-son-si-en-ligne.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/1425898837741566451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/1425898837741566451'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/03/formation-powershell-02-son-si-en-ligne.html' title='Formation PowerShell #02 : Son SI en ligne de commande'/><author><name>Grégory Schiro</name><uri>http://www.blogger.com/profile/13622288244478060512</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_o9-Jc8qS7K0/SWZ25sSkRJI/AAAAAAAAAB8/1vw9G17Rj0A/S220/Sans+titre-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-7451915471807593401</id><published>2009-03-01T16:40:00.004+01:00</published><updated>2009-03-01T16:48:15.493+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Formation'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Formation PowerShell #01 : les bases</title><content type='html'>Je vous propose dans cet article et ceux à venir de découvrir PowerShell sous la forme de petites "formations" en vidéos !&lt;br /&gt;&lt;br /&gt;J'aurais pu commencer par ça... mais comme on dit, "mieux vaut tard que jamais" :)&lt;br /&gt;&lt;br /&gt;Bref, voici la première vidéo que je vous propose dans laquelle sont abordés les points suivants :&lt;ul&gt;&lt;li&gt;Les bases&lt;br /&gt;&lt;li&gt;Les providers&lt;br /&gt;&lt;li&gt;Framework .Net : notions d’objet&lt;br /&gt;&lt;li&gt;Manipulation et présentation de l’information&lt;/ul&gt;&lt;center&gt;&lt;br /&gt;&lt;object width="400" height="302"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3419839&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ff2b&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=3419839&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ff2b&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="302"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-7451915471807593401?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/7451915471807593401/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/03/formation-powershell-01-les-bases.html#comment-form' title='6 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/7451915471807593401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/7451915471807593401'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/03/formation-powershell-01-les-bases.html' title='Formation PowerShell #01 : les bases'/><author><name>Grégory Schiro</name><uri>http://www.blogger.com/profile/13622288244478060512</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_o9-Jc8qS7K0/SWZ25sSkRJI/AAAAAAAAAB8/1vw9G17Rj0A/S220/Sans+titre-2.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-5854992400850451297</id><published>2009-02-26T21:54:00.010+01:00</published><updated>2009-02-26T22:22:12.737+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell 2'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenXML'/><title type='text'>PowerShell 2 et Word 2007 : Génération de fiches serveur</title><content type='html'>Nous y voilà, nous pouvons générer une fiche serveur en 4 étapes :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://scriptingof.blogspot.com/2009/01/creation-de-fiche-serveur-avec-word.html"&gt;Partie 1&lt;/a&gt; : Installation et configuration des pré-requis.&lt;br /&gt;&lt;li&gt;&lt;a href="http://scriptingof.blogspot.com/2009/02/creation-de-fiche-serveur-avec-word.html"&gt;Partie 2&lt;/a&gt; : Création du module PowerShell collectant les informations sur une machine distante.&lt;br /&gt;&lt;li&gt;&lt;a href="http://scriptingof.blogspot.com/2009/02/creation-de-fiche-serveur-avec-word_13.html"&gt;Partie 3&lt;/a&gt; : Création du document Word 2007 (template).&lt;br /&gt;&lt;li&gt;&lt;a href="http://scriptingof.blogspot.com/2009/02/creation-de-fiche-serveur-avec-word_20.html"&gt;Partie 4&lt;/a&gt; : Génération de la fiche serveur.&lt;/ul&gt;&lt;br /&gt;Vous trouverez l'ensemble des sources en libre téléchargement ici : &lt;a href="http://www.filefactory.com/file/af22g8h/n/Generate-ServerForm_zip"&gt;Generate-ServerForm.zip&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Ces sources sont à titre d'exemple, libre à vous d'améliorer les scripts ! Il y a beaucoup de choses à faire... :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-5854992400850451297?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/5854992400850451297/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/02/powershell-2-et-word-2007-generation-de.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/5854992400850451297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/5854992400850451297'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/02/powershell-2-et-word-2007-generation-de.html' title='PowerShell 2 et Word 2007 : Génération de fiches serveur'/><author><name>Grégory Schiro</name><uri>http://www.blogger.com/profile/13622288244478060512</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_o9-Jc8qS7K0/SWZ25sSkRJI/AAAAAAAAAB8/1vw9G17Rj0A/S220/Sans+titre-2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-8718676069075649555</id><published>2009-02-20T14:42:00.006+01:00</published><updated>2009-02-20T14:57:03.470+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell 2'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenXML'/><title type='text'>Création de fiche serveur avec Word 2007 et PowerShell (Partie 4)</title><content type='html'>La partie précédente de cet article se trouve &lt;a href="http://scriptingof.blogspot.com/2009/02/creation-de-fiche-serveur-avec-word_13.html"&gt;ICI&lt;/a&gt; !&lt;br /&gt;&lt;br /&gt;Nous arrivons à la dernière partie. Nous pourrons donc enfin avec PowerShell générer une fiche serveur !&lt;br /&gt;&lt;br /&gt;Il ne nous reste plus qu’à écrire les fonctions permettant de mettre à jour du texte dans un document Word.&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Set-OpenXmlText(&lt;span style='color: #000080'&gt;$objNode&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNsMgr&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strData&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$blnIsCheckBox&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$false&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNodeT&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$null&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNodeR&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$null&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNodeTmp&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNode&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SelectSingleNode(&lt;span style='color: #800000'&gt;'w:tc'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNsMgr&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$objNodeTmp&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-ne&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$null&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;&lt;span style='color: #000080'&gt;$objNode&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNodeTmp&lt;/span&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNodeTmp&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNode&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SelectSingleNode(&lt;span style='color: #800000'&gt;'w:p'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNsMgr&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$objNodeTmp&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-ne&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$null&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;&lt;span style='color: #000080'&gt;$objNode&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNodeTmp&lt;/span&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNodes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNode&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SelectNodes(&lt;span style='color: #800000'&gt;'w:r'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNsMgr&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;foreach&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$objNodeR&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;in&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNodes&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNodeSYM&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNodeR&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SelectSingleNode(&lt;span style='color: #800000'&gt;'w:sym'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNsMgr&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$blnIsCheckBox&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNodeSYM&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-ne&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$null&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$blnIsCheckBox&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objAttr&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNodeSYM&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Attributes&amp;nbsp;&lt;span style='color: #C86400'&gt;|&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;where-Object&lt;/span&gt;&amp;nbsp;{&amp;nbsp;&lt;span style='color: #000080'&gt;$_&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Name&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'w:char'&lt;/span&gt;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objAttr&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Value&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'F0A8'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$strData&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$true&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;&lt;span style='color: #000080'&gt;$objAttr&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Value&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'00FE'&lt;/span&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;break&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNodeT&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNodeR&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SelectSingleNode(&lt;span style='color: #800000'&gt;'w:t'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNsMgr&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$objNodeT&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-ne&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$null&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;&lt;span style='color: #000080'&gt;$objNodeT&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;InnerText&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;''&lt;/span&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #008000'&gt;#&amp;nbsp;Sinon,&amp;nbsp;il&amp;nbsp;faut&amp;nbsp;créer&amp;nbsp;une&amp;nbsp;balise&amp;nbsp;W:T&amp;nbsp;sous&amp;nbsp;$objNodeR&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;((&lt;span style='color: #C86400'&gt;-not&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$blnIsCheckBox&lt;/span&gt;)&amp;nbsp;&lt;span style='color: #C86400'&gt;-And&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$objNodeT&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-ne&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$null&lt;/span&gt;))&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNodeT&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;InnerText&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strData&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;Le but n’est pas d’étudier de près le format OpenXML… Mais nous avons besoin de quelques notions pour bien comprendre la fonction &lt;strong&gt;Set-OpenXmlText&lt;/strong&gt;. Rien de bien difficile je vous rassure !&lt;br /&gt;&lt;br /&gt;Pour cela, nous allons essayer de comprendre ce qui se passe lorsque nous insérons ce contrôle de contenu :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_o9-Jc8qS7K0/SZ60f-nEmJI/AAAAAAAAAEk/0EYAluQxMdo/s1600-h/ContentControl.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 141px; height: 53px;" src="http://4.bp.blogspot.com/_o9-Jc8qS7K0/SZ60f-nEmJI/AAAAAAAAAEk/0EYAluQxMdo/s320/ContentControl.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5304875872564844690" /&gt;&lt;/a&gt;&lt;br /&gt;Nous avons vu que lorsque nous modifions notre document Word, nous modifions en faite le fichier &lt;strong&gt;/word/document.xml&lt;/strong&gt; de notre package &lt;strong&gt;DOCX&lt;/strong&gt;. Plus précisément, nous ajoutons dans notre cas les balises suivantes :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_o9-Jc8qS7K0/SZ601FU_TGI/AAAAAAAAAEs/VYMXSzuWTXc/s1600-h/ContentControlXML.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 210px;" src="http://4.bp.blogspot.com/_o9-Jc8qS7K0/SZ601FU_TGI/AAAAAAAAAEs/VYMXSzuWTXc/s320/ContentControlXML.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5304876235145301090" /&gt;&lt;/a&gt;&lt;br /&gt;Notre contrôle de contenu est représenté par la balise &lt;strong&gt;w:sdt&lt;/strong&gt;. Cette dernière se découpe en deux parties mises en évidence par deux couleurs différentes.&lt;br /&gt;&lt;br /&gt;La partie verte (balise &lt;strong&gt;w:sdtPr&lt;/strong&gt;) contient les propriétés de notre contrôle. Ainsi on va pouvoir y trouver son nom. Dans l’exemple, notre contrôle a pour nom &lt;strong&gt;FctNetworkInfrastructure&lt;/strong&gt;. Ce nom est récupéré par la fonction &lt;strong&gt;Get-OpenXmlContentCtrlAlias&lt;/strong&gt; que nous avons vu dans &lt;a href="http://scriptingof.blogspot.com/2009/02/creation-de-fiche-serveur-avec-word_13.html"&gt;l’article précédent&lt;/a&gt; !&lt;br /&gt;&lt;br /&gt;La fonction &lt;strong&gt;Set-OpenXmlText&lt;/strong&gt; que nous avons découvert dans cet article va modifier la partie bleue (balise &lt;strong&gt;w:sdtContent) &lt;/strong&gt;qui représente le contenu de notre contrôle de contenu !&lt;br /&gt;&lt;br /&gt;Rien de compliqué… non ?!&lt;br /&gt;&lt;br /&gt;Je mettrai à votre disposition les sources complètes et commentées de la génération d’une fiche serveur avec PowerShell et Word 2007 très bientôt dans un autre post ; avec des exemples d’utilisation !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-8718676069075649555?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/8718676069075649555/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/02/creation-de-fiche-serveur-avec-word_20.html#comment-form' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/8718676069075649555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/8718676069075649555'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/02/creation-de-fiche-serveur-avec-word_20.html' title='Création de fiche serveur avec Word 2007 et PowerShell (Partie 4)'/><author><name>Grégory Schiro</name><uri>http://www.blogger.com/profile/13622288244478060512</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_o9-Jc8qS7K0/SWZ25sSkRJI/AAAAAAAAAB8/1vw9G17Rj0A/S220/Sans+titre-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_o9-Jc8qS7K0/SZ60f-nEmJI/AAAAAAAAAEk/0EYAluQxMdo/s72-c/ContentControl.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-7727865908968026764</id><published>2009-02-13T23:33:00.007+01:00</published><updated>2009-02-13T23:52:52.812+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell 2'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenXML'/><title type='text'>Création de fiche serveur avec Word 2007 et PowerShell (Partie 3)</title><content type='html'>La partie précédente de cet article se trouve &lt;a href="http://scriptingof.blogspot.com/2009/02/creation-de-fiche-serveur-avec-word.html"&gt;ICI&lt;/a&gt; !&lt;br /&gt;&lt;br /&gt;Nous avons donc à ce stade récupéré les informations matérielles et logicielles d’une machine distante.&lt;br /&gt;&lt;br /&gt;Nous allons donc maintenant créer un document Word 2007 à la main. Pourquoi à la main ? Parce que notre script sera capable de rafraîchir certaines « zones » de notre document. De ce fait, il s’adaptera au template imposé par notre société !&lt;br /&gt;&lt;br /&gt;Les « zones » dans lesquelles PowerShell écrira sont en réalité appelées « Contrôles de contenu » et se trouvent dans l’onglet « Développeur » de Word 2007 puis dans le groupe « Contrôles ». Comme dans l’image ci-dessous :&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_o9-Jc8qS7K0/SZX1yTFm1MI/AAAAAAAAAEU/-5CviRRFJvI/s1600-h/Untitled.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 96px;" src="http://3.bp.blogspot.com/_o9-Jc8qS7K0/SZX1yTFm1MI/AAAAAAAAAEU/-5CviRRFJvI/s320/Untitled.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5302414380764681410" /&gt;&lt;/a&gt;&lt;br /&gt;Ainsi, pour chaque information récupérée dans l’article précédent, nous allons insérer dans notre document un contrôle de contenu.&lt;br /&gt;&lt;br /&gt;Lorsqu’un contrôle de contenu est inséré, nous pouvons lui donner un nom et nous allons le faire ! Cela permettra à notre script PowerShell qui écrira dans le document Word de savoir dans quel contrôle de contenu écrire en fonction de l’information récupérée sur notre machine distante.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_o9-Jc8qS7K0/SZX2Pa3inUI/AAAAAAAAAEc/U9qCzDdqhGw/s1600-h/Untitled.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 285px; height: 242px;" src="http://3.bp.blogspot.com/_o9-Jc8qS7K0/SZX2Pa3inUI/AAAAAAAAAEc/U9qCzDdqhGw/s320/Untitled.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5302414881069374786" /&gt;&lt;/a&gt;&lt;br /&gt;Dans la partie précédente de l’article, nous avons écrit les fonctions &lt;span style="font-weight:bold;"&gt;Get-ComputerHardware&lt;/span&gt; et &lt;span style="font-weight:bold;"&gt;Get-ComputerSoftware&lt;/span&gt;. Si vous avez regardé de prêt ces fonctions, elle retourne un objet dont les propriétés sont les informations récupérées sur la machine distante.&lt;br /&gt;&lt;br /&gt;L’astuce est donc de donner à nos contrôles de contenu les mêmes noms que les propriétés de nos objets retournés par les deux fonctions citées précédemment !&lt;br /&gt;&lt;br /&gt;Une fois le document créé aux couleurs de notre société et peuplé de nos contrôles de contenu… nous pouvons créer le script qui va rafraîchir ce document : c'est-à-dire écrire dans les contrôles de contenu !&lt;br /&gt;&lt;br /&gt;Pour cela, dans un nouveau fichier nommé « &lt;span style="font-weight:bold;"&gt;Generate-ServerForm.ps1&lt;/span&gt; » nous allons écrire :&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;ol start='1' style='border-left: solid 1px #404040; margin-left: 35px; padding: 0px;'&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Refresh-OpenXmlDocument(&lt;span style='color: #000080'&gt;$strDocPath&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;{&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objDoc&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Get-OpenXmlDocument&amp;nbsp;-Path&amp;nbsp;&lt;span style='color: #000080'&gt;$strDocPath&lt;/span&gt;&amp;nbsp;-SuppressBackups&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$objDoc&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$null&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;&lt;span style='color: #C86400'&gt;return&lt;/span&gt;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objUri&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;New-Object&lt;/span&gt;&amp;nbsp;Uri(&lt;span style='color: #800000'&gt;'/word/document.xml'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;[UriKind]&lt;span style='color: #C86400'&gt;::&lt;/span&gt;Relative)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objPart&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objDoc&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Package&lt;span style='color: #C86400'&gt;.&lt;/span&gt;GetPart(&lt;span style='color: #000080'&gt;$objUri&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$script&lt;/span&gt;&lt;span style='color: #C86400'&gt;:&lt;/span&gt;objXmlDoc&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;New-Object&lt;/span&gt;&amp;nbsp;Xml&lt;span style='color: #C86400'&gt;.&lt;/span&gt;XmlDocument&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$script&lt;/span&gt;&lt;span style='color: #C86400'&gt;:&lt;/span&gt;objXmlDoc&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Load(&lt;span style='color: #000080'&gt;$objPart&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;GetStream())&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNsMgr&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;New-Object&lt;/span&gt;&amp;nbsp;Xml&lt;span style='color: #C86400'&gt;.&lt;/span&gt;XmlNamespaceManager(&lt;span style='color: #000080'&gt;$objXmlDoc&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;NameTable)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strURL&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'http://schemas.openxmlformats.org'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNsMgr&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;AddNamespace(&lt;span style='color: #800000'&gt;'w'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"$strURL/wordprocessingml/2006/main"&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNodes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$script&lt;/span&gt;&lt;span style='color: #C86400'&gt;:&lt;/span&gt;objXmlDoc&lt;span style='color: #C86400'&gt;.&lt;/span&gt;DocumentElement&lt;span style='color: #C86400'&gt;.&lt;/span&gt;GetElementsByTagName(&lt;span style='color: #800000'&gt;'w:sdt'&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objInfo&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Get-ComputerInfo&amp;nbsp;&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;foreach&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$objNode&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;in&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNodes&lt;/span&gt;)&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objN&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNode&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SelectSingleNode(&lt;span style='color: #800000'&gt;'w:sdtPr'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNsMgr&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strAlias&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Get-OpenXmlContentCtrlAlias&amp;nbsp;&lt;span style='color: #000080'&gt;$objN&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNsMgr&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$strAlias&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-ne&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;''&lt;/span&gt;)&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objProperty&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objInfo&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;|&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;Get-Member&lt;/span&gt;&amp;nbsp;-Name&amp;nbsp;&lt;span style='color: #000080'&gt;$strAlias&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$objProperty&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-ne&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$null&lt;/span&gt;)&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objN&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNode&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SelectSingleNode(&lt;span style='color: #800000'&gt;'w:sdtContent'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNsMgr&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;switch&lt;/span&gt;&amp;nbsp;-regex&amp;nbsp;(&lt;span style='color: #000080'&gt;$objInfo&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;&lt;span style='color: #000080'&gt;$strAlias&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;GetType()&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Name)&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #800000'&gt;'\[\]$'&lt;/span&gt;&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set-OpenXmlTable&amp;nbsp;&lt;span style='color: #000080'&gt;$objN&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNsMgr&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objInfo&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;&lt;span style='color: #000080'&gt;$strAlias&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;default&lt;/span&gt;&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set-OpenXmlText&amp;nbsp;&lt;span style='color: #000080'&gt;$objN&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNsMgr&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objInfo&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;&lt;span style='color: #000080'&gt;$strAlias&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$script&lt;/span&gt;&lt;span style='color: #C86400'&gt;:&lt;/span&gt;objXmlDoc&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Save(&lt;span style='color: #000080'&gt;$objPart&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;GetStream())&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objDoc&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Close()&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;}&lt;/span&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;Nous allons essayer d’analyser cette première fonction. Pour commencer… son but est d’écrire dans les contrôles de contenu d’un document Word 2007. Elle prend deux arguments ; le premier : le chemin vers notre template précédemment créé et le second, le nom de la machine dont nous devons récupérer les informations pour faire notre fiche.&lt;br /&gt;&lt;br /&gt;Ensuite, nous allons mettre un peu les mains dans le format &lt;span style="font-weight:bold;"&gt;OpenXML&lt;/span&gt; !&lt;br /&gt;&lt;br /&gt;La première chose qu’on remarque est l’appel à la Cmdlet &lt;span style="font-weight:bold;"&gt;Get-OpenXMLDocument&lt;/span&gt;. Elle provient des PowerTools. Vous devez donc avoir installé ces outils comme décrit dans &lt;a href="http://scriptingof.blogspot.com/2009/01/creation-de-fiche-serveur-avec-word.html"&gt;cet article&lt;/a&gt; !&lt;br /&gt;&lt;br /&gt;Nous allons faire une petite parenthèse sur le format OpenXML : un fichier Office 2007 est en réalité un fichier .ZIP renommé en .DOCX, XLSX ou PPTX ! Si vous renommez le fichier avec l’extension .ZIP et que vous le décompressez vous aurez une arborescence de fichiers.&lt;br /&gt;&lt;br /&gt;Pour Word, vous aurez notamment un fichier « /word/document.xml » qui n’est rien d’autre que le contenu de notre document Word 2007 au format XML ! C’est précisément ce fichier XML que nous récupérons pour le manipuler. Fin de la parenthèse sur le format OpenXML !&lt;br /&gt;&lt;br /&gt;Nous allons donc nous déplacer dans ce fichier XML en repérant nos contrôles de contenu dont la balise est : « w:sdt »&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;ol start='1' style='border-left: solid 1px #404040; margin-left: 25px; padding: 0px;'&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;span style='color: #000080'&gt;$script&lt;/span&gt;&lt;span style='color: #C86400'&gt;:&lt;/span&gt;objXmlDoc&lt;span style='color: #C86400'&gt;.&lt;/span&gt;DocumentElement&lt;span style='color: #C86400'&gt;.&lt;/span&gt;GetElementsByTagName(&lt;span style='color: #800000'&gt;'w:sdt'&lt;/span&gt;)&lt;/span&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Remarque : nous avons écrit &lt;span style="font-weight:bold;"&gt;$script:objXmlDoc&lt;/span&gt; afin de rendre visible notre variable dans tout le script.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Nous pouvons donc naviguer de contrôles de contenu en contrôles de contenu dans notre document en repérant ces balises ! Ensuite, pour chaque contrôle de contenu, nous devons récupérer son nom qui je vous le rappelle est aussi le nom d’une propriété de l’objet retourné par nos fonctions récupérant les informations d’une machine. Dans notre exemple, nous avons utilisé une fonction nommée &lt;span style="font-weight:bold;"&gt;Get-ComputerInfo&lt;/span&gt;. Cette fonction retourne un objet fusionnant le retour de &lt;span style="font-weight:bold;"&gt;Get-ComputerHardware&lt;/span&gt; et &lt;span style="font-weight:bold;"&gt;Get-ComputerSoftware&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Pour cela vous pouvez rajouter cette fonction dans notre module précédemment créé :&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;ol start='1' style='border-left: solid 1px #404040; margin-left: 35px; padding: 0px;'&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Merge-Object(&lt;span style='color: #000080'&gt;$objSource&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objDest&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;{&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSource&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;|&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;Get-Member&lt;/span&gt;&amp;nbsp;-MemberType&amp;nbsp;NoteProperty&amp;nbsp;&lt;span style='color: #C86400'&gt;|&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;%&lt;/span&gt;&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objDest&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$_&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Name&amp;nbsp;&lt;span style='color: #000080'&gt;$objSource&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;(&lt;span style='color: #000080'&gt;$_&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Name)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objDest&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Get-ComputerInfo(&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;{&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objHardware&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Get-ComputerHardware&amp;nbsp;&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSoftware&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Get-ComputerSoftware&amp;nbsp;&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;return&lt;/span&gt;&amp;nbsp;(Merge-Object&amp;nbsp;&lt;span style='color: #000080'&gt;$objHardware&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objSoftware&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;}&lt;/span&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Remarque : la fonction &lt;span style="font-weight:bold;"&gt;Merge-Objet&lt;/span&gt; fusionne les propriétés que nous avons rajoutées sur nos objets !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Biensûr, il faut modifier dans ce cas la fin de notre module pour rendre visible cette nouvelle fonction :&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;ol start='1' style='border-left: solid 1px #404040; margin-left: 25px; padding: 0px;'&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;span style='color: #C86400'&gt;Export-ModuleMember&lt;/span&gt;&amp;nbsp;-Function&amp;nbsp;&lt;span style='color: #800000'&gt;'Get-ComputerHardware'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #800000'&gt;'Get-ComputerSoftware'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #800000'&gt;'Get-ComputerInfo'&lt;/span&gt;&lt;/span&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;Mais nous avons oublié une petite chose ! Nous devons dire à notre nouveau script qu’il doit utiliser notre module ! Nous le faisons grâce à la Cmdlet &lt;span style="font-weight:bold;"&gt;Import-Module&lt;/span&gt; que nous ajoutons au tout début de notre script :&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;ol start='1' style='border-left: solid 1px #404040; margin-left: 25px; padding: 0px;'&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;span style='color: #C86400'&gt;Import-Module&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;\Computer_Info&lt;span style='color: #C86400'&gt;.&lt;/span&gt;psm1&lt;/span&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Remarque : ici, notre module se situe dans le même répertoire que notre script.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Maintenant que nous avons tous les éléments, pour chaque contrôle de contenu nous récupérons son nom avec la fonction &lt;span style="font-weight:bold;"&gt;Get-OpenXmlContentCtrlAlias&lt;/span&gt; :&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;ol start='1' style='border-left: solid 1px #404040; margin-left: 35px; padding: 0px;'&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Get-OpenXmlContentCtrlAlias(&lt;span style='color: #000080'&gt;$objNode&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNsMgr&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;{&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strAlias&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;''&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNode&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNode&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;SelectSingleNode(&lt;span style='color: #800000'&gt;'w:alias'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNsMgr&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$strAlias&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objNode&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Attributes&amp;nbsp;&lt;span style='color: #C86400'&gt;|&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;where-Object&lt;/span&gt;&amp;nbsp;{&amp;nbsp;&lt;span style='color: #000080'&gt;$_&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Name&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'w:val'&lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$strAlias&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;-ne&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$null&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;&lt;span style='color: #000080'&gt;$strAlias&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strAlias&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Value&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;else&lt;/span&gt;&amp;nbsp;{&amp;nbsp;&lt;span style='color: #000080'&gt;$strAlias&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;''&lt;/span&gt;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strAlias&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Trim()&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;}&lt;/span&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;Puis, si les données que nous devons écrire sont contenues dans un tableau nous appelons &lt;span style="font-weight:bold;"&gt;Set-OpenXmlTable&lt;/span&gt; sinon nous appelons &lt;span style="font-weight:bold;"&gt;Set-OpenXmlText&lt;/span&gt; !&lt;br /&gt;&lt;br /&gt;Comme nous avons bien avancé, nous allons faire une petite pause ! Je vous donne rendez-vous au prochain article pour la suite de notre petite aventure !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-7727865908968026764?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/7727865908968026764/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/02/creation-de-fiche-serveur-avec-word_13.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/7727865908968026764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/7727865908968026764'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/02/creation-de-fiche-serveur-avec-word_13.html' title='Création de fiche serveur avec Word 2007 et PowerShell (Partie 3)'/><author><name>Grégory Schiro</name><uri>http://www.blogger.com/profile/13622288244478060512</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_o9-Jc8qS7K0/SWZ25sSkRJI/AAAAAAAAAB8/1vw9G17Rj0A/S220/Sans+titre-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_o9-Jc8qS7K0/SZX1yTFm1MI/AAAAAAAAAEU/-5CviRRFJvI/s72-c/Untitled.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-4623293870030399454</id><published>2009-02-07T14:28:00.017+01:00</published><updated>2009-02-12T22:59:18.248+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell 2'/><title type='text'>Création de fiche serveur avec Word 2007 et PowerShell (Partie 2)</title><content type='html'>La partie précédente de cet article se trouve &lt;a href="http://scriptingof.blogspot.com/2009/01/creation-de-fiche-serveur-avec-word.html"&gt;ici&lt;/a&gt; !&lt;br /&gt;Nous voici à la première étape : Identification et récupération des informations pertinentes sur nos serveurs !&lt;br /&gt;&lt;br /&gt;Dans cet article nous allons créer un &lt;strong&gt;module PowerShell&lt;/strong&gt; capable de récupérer les informations des serveurs de notre parc informatique. Mais… c’est quoi un module ? C’est tout simplement un ensemble de fonctions : une sorte de librairie que nous pouvons réutiliser et partager !&lt;br /&gt;&lt;br /&gt;Remarque : Les modules sont apparus avec PowerShell V2.&lt;br /&gt;&lt;br /&gt;Pour faire notre premier module, nous allons créer un fichier nommé « Computer_Info.psm1 ». Remarquez l’extension &lt;strong&gt;.PSM1&lt;/strong&gt; du fichier ! La seconde chose à faire est d’y écrire nos fonctions qui iront chercher les informations de nos serveurs.&lt;br /&gt;&lt;br /&gt;Ensuite, nos futurs scripts pourront faire appel aux fonctions de ce module. Vous l’aurez compris, les modules permettent de réutiliser le code, de faire des librairies ; bref de capitaliser !&lt;br /&gt;&lt;br /&gt;Par défaut, PowerShell ira chercher nos modules dans les répertoires listés dans la variable d’environnement &lt;strong&gt;PSMODULEPATH&lt;/strong&gt; ainsi que dans le répertoire courant du script faisant appel à un module. Pour afficher cette variable, exécutez la commande :&lt;br /&gt;&lt;br /&gt;&lt;pre style='MARGIN: 0in 10pt 0in;line-height:normal';font-size:10pt&gt;&lt;span style='font-family:Courier New;color:#eeedf0;background:#012456'&gt;PS&amp;gt; $env:PSMODULEPATH&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Nous pouvons donc commencer à récupérer les informations pertinentes de nos serveurs. Nous allons pour cela utiliser plusieurs méthodes. La première : &lt;strong&gt;WMI&lt;/strong&gt; !&lt;br /&gt;Cette première fonction que nous allons écrire dans notre module est une petite surcouche à la Cmdlet PowerShell &lt;strong&gt;Get-WmiObject&lt;/strong&gt;. Elle nous permettra uniquement d’économiser quelques lignes de code…&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;ol start='1' style='border-left: solid 1px #404040; margin-left: 25px; padding: 0px;'&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Get-WmiInfo(&lt;span style='color: #000080'&gt;$strClass&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;{&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;Get-WmiObject&lt;/span&gt;&amp;nbsp;-Class&amp;nbsp;&lt;span style='color: #000080'&gt;$strClass&lt;/span&gt;&amp;nbsp;-Namespace&amp;nbsp;&lt;span style='color: #800000'&gt;'root\cimv2'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;`&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-ComputerName&amp;nbsp;&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;}&lt;/span&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;Nous allons également ajouter une autre petite fonction qui nous facilitera la vie…&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;ol start='1' style='border-left: solid 1px #404040; margin-left: 25px; padding: 0px;'&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Add-Property(&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strProperty&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objValue&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;{&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;Add-Member&lt;/span&gt;&amp;nbsp;-InputObject&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&amp;nbsp;-Type&amp;nbsp;&lt;span style='color: #800000'&gt;'NoteProperty'&lt;/span&gt;&amp;nbsp;-Name&amp;nbsp;&lt;span style='color: #000080'&gt;$strProperty&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;`&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-value&amp;nbsp;&lt;span style='color: #000080'&gt;$objValue&lt;/span&gt;&amp;nbsp;-force&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;}&lt;/span&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;La fonction &lt;strong&gt;Add-Property&lt;/strong&gt; est une surcouche à la Cmdlet &lt;strong&gt;Add-Member&lt;/strong&gt; permettant  ici d’ajouter une propriété à un objet. Vous comprendrez pourquoi nous l’utiliserons un peu plus bas dans cet article !&lt;br /&gt;&lt;br /&gt;Maintenant que nous avons écrit nos deux fonctions « outil », nous pouvons dans un premier temps récupérer les informations matérielles de nos machines :&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;ol start='1' style='border-left: solid 1px #404040; margin-left: 35px; padding: 0px;'&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Get-ComputerHardware(&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;{&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;New-Object&lt;/span&gt;&amp;nbsp;Object&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$int&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #008000'&gt;#&amp;nbsp;Processors&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Get-WmiInfo&amp;nbsp;&lt;span style='color: #800000'&gt;'Win32_Processor'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;foreach&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$objInfo&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;in&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;)&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'Is32Bit'&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$objInfo&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Architecture&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;0x0&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'Is64Bit'&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$objInfo&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Architecture&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;0x9&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$int&lt;/span&gt;&lt;span style='color: #C86400'&gt;+&lt;/span&gt;&lt;span style='color: #C86400'&gt;+&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'NbCPU'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$int&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #008000'&gt;#&amp;nbsp;BIOS&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Get-WmiInfo&amp;nbsp;&lt;span style='color: #800000'&gt;'Win32_Bios'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'BIOS'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Name&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #008000'&gt;#&amp;nbsp;System&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Get-WmiInfo&amp;nbsp;&lt;span style='color: #800000'&gt;'Win32_ComputerSystem'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$int&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #404040'&gt;[int]&lt;/span&gt;(&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;TotalPhysicalMemory&amp;nbsp;&lt;span style='color: #C86400'&gt;/&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;1024&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;/&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;1024&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;/&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;1024&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'TotalMemory'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;"$int&amp;nbsp;Go"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'Manufacturer'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Manufacturer&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'Model'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Model&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'Domain'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Domain&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'DNSName'&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Name&amp;nbsp;&lt;span style='color: #C86400'&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'.'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Domain)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'NetBIOSName'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Name&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #008000'&gt;#&amp;nbsp;Media&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Get-WmiInfo&amp;nbsp;&lt;span style='color: #800000'&gt;'Win32_CDROMDrive'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;foreach&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$objInfo&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;in&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;)&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;switch&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$objInfo&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;MediaType)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #800000'&gt;'CD-ROM'&lt;/span&gt;&amp;nbsp;{&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'MediaCD'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$true&lt;/span&gt;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #800000'&gt;'DVD-ROM'&lt;/span&gt;&amp;nbsp;{&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'MediaDVD'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$true&lt;/span&gt;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #800000'&gt;'CD&amp;nbsp;Writer'&lt;/span&gt;&amp;nbsp;{&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'MediaCDRW'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$true&lt;/span&gt;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #800000'&gt;'DVD&amp;nbsp;Writer'&lt;/span&gt;&amp;nbsp;{&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'MediaDVDRW'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$true&lt;/span&gt;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;default&lt;/span&gt;&amp;nbsp;{&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #008000'&gt;#&amp;nbsp;Physical&amp;nbsp;or&amp;nbsp;virtual&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Get-WmiInfo&amp;nbsp;&lt;span style='color: #800000'&gt;'Win32_BaseBoard'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Manufacturer&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Tolower()&amp;nbsp;&lt;span style='color: #C86400'&gt;-contains&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'microsoft'&lt;/span&gt;)&amp;nbsp;&lt;span style='color: #C86400'&gt;-Or&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Manufacturer&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Tolower()&amp;nbsp;&lt;span style='color: #C86400'&gt;-contains&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'vmware'&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'IsVirtual'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'IsPhysical'&lt;/span&gt;&amp;nbsp;(&lt;span style='color: #C86400'&gt;-not&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$bln&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #008000'&gt;#&amp;nbsp;Network&amp;nbsp;adapters&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;Set-StrictMode&lt;/span&gt;&amp;nbsp;-Off&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Get-WmiInfo&amp;nbsp;&lt;span style='color: #800000'&gt;'Win32_NetworkAdapter'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;|&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;Where-Object&lt;/span&gt;&amp;nbsp;{&amp;nbsp;&lt;span style='color: #000080'&gt;$_&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;PhysicalAdapter&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$true&lt;/span&gt;&amp;nbsp;}&amp;nbsp;&lt;span style='color: #C86400'&gt;|&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;Select-Object&lt;/span&gt;&amp;nbsp;ProductName&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;MACAddress&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;Set-StrictMode&lt;/span&gt;&amp;nbsp;-Version&amp;nbsp;&lt;span style='color: #800000'&gt;2.0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'NetworkCards'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #008000'&gt;#&amp;nbsp;Disks&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Get-WmiInfo&amp;nbsp;&lt;span style='color: #800000'&gt;'Win32_DiskDrive'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;|&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;Select-Object&lt;/span&gt;&amp;nbsp;Model&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;Size&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'Disks'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #008000'&gt;#&amp;nbsp;Volumes&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Get-WmiInfo&amp;nbsp;&lt;span style='color: #800000'&gt;'Win32_LogicalDisk'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;|&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;Where-Object&lt;/span&gt;&amp;nbsp;{&amp;nbsp;&lt;span style='color: #000080'&gt;$_&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;DriveType&amp;nbsp;&lt;span style='color: #C86400'&gt;-eq&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;3&lt;/span&gt;&amp;nbsp;}&amp;nbsp;&lt;span style='color: #C86400'&gt;|&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;Select-Object&lt;/span&gt;&amp;nbsp;VolumeName&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;DeviceID&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;Size&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;FreeSpace&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'Volumes'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;}&lt;/span&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;La fonction &lt;strong&gt;Get-ComputerHardware&lt;/strong&gt; retourne un objet dont les propriétés sont les informations matérielles d’un ordinateur récupérées par différentes requêtes WMI !&lt;br /&gt;&lt;br /&gt;Nous pouvons également récupérer des informations logicielles :&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;ol start='1' style='border-left: solid 1px #404040; margin-left: 35px; padding: 0px;'&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;span style='color: #C86400'&gt;function&lt;/span&gt;&amp;nbsp;Get-ComputerSoftware(&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;{&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;New-Object&lt;/span&gt;&amp;nbsp;Object&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #008000'&gt;#&amp;nbsp;Operating&amp;nbsp;system&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Get-WmiInfo&amp;nbsp;&lt;span style='color: #800000'&gt;'Win32_OperatingSystem'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'OSName'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$Obj&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Caption&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'OSVersion'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$Obj&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;Version&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'OSServicePack'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;CSDVersion&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'OSArchitecture'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&lt;span style='color: #C86400'&gt;.&lt;/span&gt;OSArchitecture&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #008000'&gt;#&amp;nbsp;Services&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;Get-Service&lt;/span&gt;&amp;nbsp;-ComputerName&amp;nbsp;&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;|&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;Select-Object&lt;/span&gt;&amp;nbsp;DisplayName&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;ServiceName&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;Status&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'Services'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$Obj&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #008000'&gt;#&amp;nbsp;KB&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #000080'&gt;$obj&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;=&lt;/span&gt;&amp;nbsp;Get-WmiInfo&amp;nbsp;&lt;span style='color: #800000'&gt;'Win32_QuickFixEngineering'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$strComputer&lt;/span&gt;&amp;nbsp;&lt;span style='color: #C86400'&gt;|&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;Sort-Object&lt;/span&gt;&amp;nbsp;InstalledOn&amp;nbsp;&lt;span style='color: #C86400'&gt;|&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;Select-Object&lt;/span&gt;&amp;nbsp;Description&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;HotFixID&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;InstalledBy&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&amp;nbsp;InstalledOn&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Add-Property&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&amp;nbsp;&lt;span style='color: #800000'&gt;'KB'&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$Obj&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #C86400'&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style='color: #000080'&gt;$objRes&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;}&lt;/span&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;Remarquez ici l’utilisation de la Cmdlet &lt;strong&gt;Get-Service&lt;/strong&gt; avec le paramètre &lt;strong&gt;–ComputerName&lt;/strong&gt; qui existe depuis la V2 !&lt;br /&gt;&lt;br /&gt;Maintenant que nous avons récupéré les informations matérielle et logicielle, nous avons presque terminé notre module !&lt;br /&gt;&lt;br /&gt;Vous avez remarqué que nous avons écrit des fonctions « outil ». Nous aimerions donc que ces fonctions ne soient pas utilisables dans des scripts car sorties de leur contexte elles peuvent être mal utilisées.&lt;br /&gt;&lt;br /&gt;&lt;div style='width: 100%; /*height: 100%;*/ overflow: auto; font-family: Consolas, "Courier New", Courier, mono; font-size: 12px; background-color: #DDDDDD; color: #000000; padding: 2px 2px 2px 2px; white-space: nowrap'&gt;&lt;ol start='1' style='border-left: solid 1px #404040; margin-left: 25px; padding: 0px;'&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&lt;span style='color: #C86400'&gt;Export-ModuleMember&lt;/span&gt;&amp;nbsp;-Function&amp;nbsp;&lt;span style='color: #800000'&gt;'Get-ComputerHardware'&lt;/span&gt;&lt;span style='color: #C86400'&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;li style='color: #404040; padding-left: 5px'&gt;&lt;span style='color: #000000'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style='color: #800000'&gt;'Get-ComputerSoftware'&lt;/span&gt;&lt;/span&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;La Cmdlet &lt;strong&gt;Export-ModuleMember&lt;/strong&gt; nous permet d’exposer uniquement nos deux principales fonctions de notre module. Ainsi, les scripts qui utiliseront notre module ne pourront se servir que de ces deux fonctions !&lt;br /&gt;&lt;br /&gt;Nous avons donc dans cet article :&lt;br /&gt;&lt;strong&gt;1.&lt;/strong&gt; Créé un module PowerShell V2,&lt;br /&gt;&lt;strong&gt;2.&lt;/strong&gt; Récupéré les informations matérielles et logicielles d’une machine.&lt;br /&gt;&lt;br /&gt;Dans le prochain article, nous créerons notre document Word 2007 qui sera utilisé pour générer nos fiches serveurs !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-4623293870030399454?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/4623293870030399454/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/02/creation-de-fiche-serveur-avec-word.html#comment-form' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/4623293870030399454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/4623293870030399454'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/02/creation-de-fiche-serveur-avec-word.html' title='Création de fiche serveur avec Word 2007 et PowerShell (Partie 2)'/><author><name>Grégory Schiro</name><uri>http://www.blogger.com/profile/13622288244478060512</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_o9-Jc8qS7K0/SWZ25sSkRJI/AAAAAAAAAB8/1vw9G17Rj0A/S220/Sans+titre-2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-3990874615927095186</id><published>2009-01-28T19:27:00.009+01:00</published><updated>2009-02-10T08:03:24.227+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell 2'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenXML'/><title type='text'>Création de fiche serveur avec Word 2007 et PowerShell (Partie 1)</title><content type='html'>Et si en quelques secondes il était possible de récupérer toutes les informations pertinentes de tous les serveurs Windows de notre système d’information, de générer des rapports détaillés et de les envoyer par e-mail à notre responsable tous les mois ?&lt;br /&gt;&lt;br /&gt;Nous aurions plus de temps pour prendre notre café ? Certes… ou bien nous aurions plus de temps pour apporter une valeur ajoutée à notre travail !&lt;br /&gt;&lt;br /&gt;Quoiqu’il en soit, dans cet article en plusieurs parties, nous allons réaliser cette automatisation !&lt;br /&gt;&lt;br /&gt;Pour cela, nous aurons besoin de 2 choses :&lt;br /&gt;&lt;strong&gt;1.&lt;/strong&gt; PowerShell V2 : normal non ? :)&lt;br /&gt;&lt;strong&gt;2.&lt;/strong&gt; &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AD0B72FB-4A1D-4C52-BDB5-7DD7E816D046&amp;displaylang=en"&gt;OpenXML SDK 1.0&lt;/a&gt; : librairie que nous allons utiliser pour manipuler le format DOCX !&lt;br /&gt;&lt;br /&gt;Si vous n’avez pas encore installé PowerShell V2, rendez-vous sur &lt;a href="http://scriptingof.blogspot.com/2009/01/powershell-v2-introduction.html"&gt;cet article &lt;/a&gt;! Sinon… vous n’avez plus qu’à &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AD0B72FB-4A1D-4C52-BDB5-7DD7E816D046&amp;displaylang=en"&gt;télécharger OpenXML SDK 1.0&lt;/a&gt; et à l’installer.&lt;br /&gt;&lt;br /&gt;Enfin, sachez qu’il existe des Cmdlets (commandes PowerShell) créées pour manipuler le format OpenXML sur lequel s’appuient les documents Office 2007 : &lt;a href="http://www.codeplex.com/PowerTools"&gt;les PowerTools&lt;/a&gt;. Ces Cmdlets peuvent nous faciliter la vie et le code (en C#) est ouvert à tous : que demander de plus ?&lt;br /&gt;&lt;br /&gt;Pour installer les PowerTools, vous aurez besoin des sources et de les compiler avec &lt;a href="http://msdn.microsoft.com/fr-fr/express/aa975050.aspx"&gt;Visual C# Express&lt;/a&gt; par exemple pour générer la DLL… Ou bien, récupérer celle que j’ai générée pour vous ici…&lt;br /&gt;&lt;br /&gt;Pour l’installation, dans une fenêtre PowerShell :&lt;br /&gt;&lt;br /&gt;&lt;pre style='MARGIN: 0in 10pt 0in;line-height:normal';font-size:10pt&gt;&lt;span style='font-family:Courier New;color:#eeedf0;background:#012456'&gt;PS&amp;gt; cd C:\Windows\Microsoft.NET\Framework64\v2.0.50727&lt;br&gt;PS&amp;gt; .\InstallUtil.exe C:\OpenXml.PowerTools.dll       &lt;br&gt;PS&amp;gt; Add-PSSnapin OpenXml.PowerTools                   &lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Installutil.exe se trouve dans le répertoire du Framework .Net 2. Dans l’exemple : « C:\Windows\Microsoft.NET\Framework64\v2.0.50727». La DLL PowerTools a été déposée à la racine de notre partition C :.&lt;br /&gt;&lt;br /&gt;Maintenant que nous avons tous les pré-requis, nous pouvons entrer dans le vif du sujet : générer un document Word !&lt;br /&gt;&lt;br /&gt;Nous allons découper notre travail en plusieurs étapes :&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1.&lt;/strong&gt; Identification et récupération des informations pertinentes sur nos serveurs,&lt;br /&gt;&lt;strong&gt;2.&lt;/strong&gt; Mise en page du document Word,&lt;br /&gt;&lt;strong&gt;3.&lt;/strong&gt; Génération du document avec les données récoltées.&lt;br /&gt;&lt;br /&gt;Vous l’aurez sans doute compris, chaque étape fera l’objet d’un article pour plus de clarté et pour entretenir un suspens ! Ok je sors…&lt;br /&gt;&lt;br /&gt;A très bientôt pour l’étape 1 ! En attendant, préparez-vous en installant les pré-requis !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-3990874615927095186?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/3990874615927095186/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/01/creation-de-fiche-serveur-avec-word.html#comment-form' title='3 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/3990874615927095186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/3990874615927095186'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/01/creation-de-fiche-serveur-avec-word.html' title='Création de fiche serveur avec Word 2007 et PowerShell (Partie 1)'/><author><name>Grégory Schiro</name><uri>http://www.blogger.com/profile/13622288244478060512</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_o9-Jc8qS7K0/SWZ25sSkRJI/AAAAAAAAAB8/1vw9G17Rj0A/S220/Sans+titre-2.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-8232136386727731554</id><published>2009-01-27T21:53:00.019+01:00</published><updated>2009-02-10T08:00:56.834+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell 2'/><title type='text'>PowerShell 2 : Introduction</title><content type='html'>PowerShell est un outil en ligne de commande capable d’administrer une machine sous Windows. Voilà une définition très formelle, presque marketing… :)&lt;br /&gt;&lt;br /&gt;La théorie c’est fantastique, cependant dans ce blog vous trouverez aussi beaucoup de pratique !&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_o9-Jc8qS7K0/SX93AsnljGI/AAAAAAAAAD0/h3jPloul4pg/s1600-h/powershell.png"&gt;&lt;img style="float:left; margin:0 0px 0px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_o9-Jc8qS7K0/SX93AsnljGI/AAAAAAAAAD0/h3jPloul4pg/s200/powershell.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5296082540671896674" /&gt;&lt;/a&gt;Mais avant, pour mon premier message nous allons mettre en place un environnement simple pour tester nos futurs scripts PowerShell.&lt;br /&gt;&lt;br /&gt;Vous le savez sûrement, PowerShell est en version 1.0 ! Et bien nous n’utiliserons pas cette version… Mais la version 2 actuellement en cours de développement (CTP 3) !&lt;br /&gt;Tant qu’à faire, autant s’investir sur la dernière version qui nous offre des possibilités très intéressantes que nous découvrirons au fur et à mesure. &lt;br /&gt;&lt;br /&gt;Bref, la première chose à faire est de s’assurer que nous avons Windows XP SP3 ou Windows Server 2003 SP2 minimum comme système d’exploitation. Sachez cependant que certaines fonctionnalités de PowerShell V2 ne sont exploitables qu’à partir de Windows Vista SP1 et Windows Server 2008.&lt;br /&gt;&lt;br /&gt;Ensuite, nous devons désinstaller toute version précédente de PowerShell si elles existent sur notre système puis nous pouvons enfin télécharger et installer ce dont nous avons besoin :&lt;br /&gt;&lt;br /&gt;    &lt;strong&gt;1.&lt;/strong&gt; &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&amp;displaylang=en"&gt;Framework .NET 2.0&lt;/a&gt; : PowerShell rend accessible cette librairie en ligne de commande !&lt;br /&gt;    &lt;strong&gt;2.&lt;/strong&gt; &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&amp;displaylang=en"&gt;Framework .NET 3.5.1&lt;/a&gt; : Si nous voulons utiliser l’éditeur intégré de PowerShell ; et nous le voulons !&lt;br /&gt;    &lt;strong&gt;3.&lt;/strong&gt; &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c913aeab-d7b4-4bb1-a958-ee6d7fe307bc&amp;displaylang=en"&gt;PowerShell V2 CTP3&lt;/a&gt; : notre outil en ligne de commande ainsi qu’un éditeur ; tout en un !&lt;br /&gt;    &lt;strong&gt;4.&lt;/strong&gt; &lt;a href="https://connect.microsoft.com/wsman"&gt;WinRM 2.0 CTP3&lt;/a&gt; : pour utiliser les fonctionnalités d’administration à distance de PowerShell V2.&lt;br /&gt;&lt;br /&gt;Une fois ces 4 composants installés dans l’ordre donné, nous allons commencer à nous amuser avec nos nouveaux jouets qui deviendront très vite indispensables… :)&lt;br /&gt;&lt;br /&gt;Je ne vais pas m’étendre sur comment utiliser PowerShell ou l’environnement de script intégré (que j’ai appelé « éditeur » précédemment), ce n’est pas le but ici !&lt;br /&gt;Cependant je vais tout de même expliquer en quelques mots comment « configurer » PowerShell pour utiliser les fonctionnalités d’administration à distance grâce à WinRM 2.0 !&lt;br /&gt;&lt;br /&gt;WinRM est une implémentation faite par Microsoft du protocole WS-Management qui permet d’accéder à des machines distantes en utilisant le protocole HTTP ou HTTPS. Voilà qui est dit…&lt;br /&gt;&lt;br /&gt;Bref, en pratique, c’est un service installé sur la machine que l’on doit démarrer… avec PowerShell !&lt;br /&gt;&lt;br /&gt;Donc, dans une session PowerShell lancée en tant qu’administrateur local de la machine, taper la commande :&lt;br /&gt;&lt;br /&gt;&lt;pre style='MARGIN: 0in 10pt 0in;line-height:normal';font-size:10pt&gt;&lt;span style='font-family:Courier New;color:#eeedf0;background:#012456'&gt;PS&gt; Start-Service WinRM&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Nous pouvons à présent utiliser le provider WSMan de PowerShell V2 pour la configuration. Pour administrer une machine distante avec PowerShell V2, la machine distante doit également avoir PowerShell V2 installé ! Dans ce cas, PowerShell agit comme une application client / serveur se connectant sur un port donné (par défaut 80).&lt;br /&gt;Nous allons donc dire à notre PowerShell d’écouter sur un port précis :&lt;br /&gt;&lt;br /&gt;&lt;pre style='MARGIN: 0in 10pt 0in;line-height:normal';font-size:10pt&gt;&lt;span style='font-family:Courier New;color:#eeedf0;background:#012456'&gt;PS&gt; cd WSMan:\localhost\Listener                          &lt;br /&gt;PS&gt; New-Item –Path . –Address * -Transport HTTP –Port 8080&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;A ce stade, PowerShell utilisera le protocole HTTP et le port 8080 sur toutes les interfaces réseaux pour écouter et envoyer les requêtes provenant ou à destination d’autres machines ayant PowerShell V2.&lt;br /&gt;&lt;br /&gt;Cette opération est donc à répéter sur toutes les machines que nous voulons administrer à distance.&lt;br /&gt;&lt;br /&gt;Nous avons donc maintenant un petit environnement dans lequel nous exercer un peu…&lt;br /&gt;Biensûr, je n’ai fait qu’effleurer le sujet pour le moment mais nous aurons l’occasion de découvrir plus en détail PowerShell V2 dans les prochains jours. Cependant, nous avons vu le minimum pour commencer à nous amuser avec notre outil !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-8232136386727731554?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/8232136386727731554/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/01/powershell-v2-introduction.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/8232136386727731554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/8232136386727731554'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/01/powershell-v2-introduction.html' title='PowerShell 2 : Introduction'/><author><name>Grégory Schiro</name><uri>http://www.blogger.com/profile/13622288244478060512</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_o9-Jc8qS7K0/SWZ25sSkRJI/AAAAAAAAAB8/1vw9G17Rj0A/S220/Sans+titre-2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_o9-Jc8qS7K0/SX93AsnljGI/AAAAAAAAAD0/h3jPloul4pg/s72-c/powershell.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-3800266114188356431</id><published>2009-01-24T20:17:00.004+01:00</published><updated>2009-03-16T12:39:31.504+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Phase Planification'/><title type='text'>Objectifs et fonctions de la phase Planification</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_1SaH5f6NrPQ/SXtpjpo5hbI/AAAAAAAAABY/QnxCpGvAetg/s1600-h/Phase+Plan.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 369px; height: 340px;" src="http://1.bp.blogspot.com/_1SaH5f6NrPQ/SXtpjpo5hbI/AAAAAAAAABY/QnxCpGvAetg/s400/Phase+Plan.jpg" alt="" id="BLOGGER_PHOTO_ID_5294941848097883570" border="0" /&gt;&lt;/a&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CUsers%5Cmamazit%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:officedocumentsettings&gt;   &lt;o:relyonvml/&gt;   &lt;o:allowpng/&gt;  &lt;/o:OfficeDocumentSettings&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;link rel="themeData" href="file:///C:%5CUsers%5Cmamazit%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CUsers%5Cmamazit%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:donotshowrevisions/&gt;   &lt;w:donotprintrevisions/&gt;   &lt;w:donotshowmarkup/&gt;   &lt;w:donotshowcomments/&gt;   &lt;w:donotshowinsertionsanddeletions/&gt;   &lt;w:donotshowpropertychanges/&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;FR&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;} @font-face 	{font-family:Tahoma; 	panose-1:2 11 6 4 3 5 4 4 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-520082689 -1073717157 41 0 66047 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:1.0pt; 	margin-right:0cm; 	margin-bottom:1.0pt; 	margin-left:17.85pt; 	text-align:justify; 	line-height:130%; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	mso-bidi-font-size:11.0pt; 	font-family:"Tahoma","sans-serif"; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	color:#555544; 	mso-fareast-language:EN-US;} p.liste, li.liste, div.liste 	{mso-style-name:liste; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	margin-top:5.0pt; 	margin-right:0cm; 	margin-bottom:5.0pt; 	margin-left:42.7pt; 	text-align:justify; 	text-indent:-18.0pt; 	line-height:130%; 	mso-pagination:widow-orphan; 	mso-list:l0 level1 lfo1; 	font-size:10.0pt; 	mso-bidi-font-size:11.0pt; 	font-family:"Tahoma","sans-serif"; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	color:#555544; 	mso-fareast-language:EN-US; 	mso-no-proof:yes;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-top:10.0pt; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:17.85pt; 	text-align:justify;} @page Section1 	{size:612.0pt 792.0pt; 	margin:70.85pt 70.85pt 70.85pt 70.85pt; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:997071766; 	mso-list-type:hybrid; 	mso-list-template-ids:1229747426 -968040080 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;} @list l0:level1 	{mso-level-number-format:image; 	list-style-image:url("file:///C:/Users/mamazit/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif"); 	mso-level-style-link:liste; 	mso-level-text:; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	margin-left:42.7pt; 	text-indent:-18.0pt; 	font-family:Symbol; 	color:windowtext;} ol 	{margin-bottom:0cm;} ul 	{margin-bottom:0cm;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tableau Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:10.0pt; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:17.85pt; 	text-align:justify; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-fareast-language:EN-US;} &lt;/style&gt; &lt;![endif]--&gt;Au cours de la phase de Planification (Plan), les équipes métiers et techniques travaillent ensemble afin de déterminer comment l’informatique va offrir des services à valeurs ajoutées qui permettent à l'entreprise de réussir. Pour se faire, cela exige de:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Comprendre la stratégie business et ses exigences ainsi que la façon dont les actuels services informatiques supportent le business&lt;/li&gt;&lt;li&gt;Comprendre ce que la fiabilité représente pour l’entreprise et comment elle sera mesurée et améliorée, ainsi que les revues et les mesures permettant d’améliorer l'état actuel si  besoin&lt;/li&gt;&lt;li&gt;Comprendre la stratégie de l'entreprise et comment elle affecte sa politique&lt;/li&gt;&lt;li&gt;Fournir la structure financière pour supporter les travaux informatiques et prendre les bonnes décisions&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;L'objectif de cette phase est de prendre les bonnes décisions sur la politique IT et le portefeuille de projets, en veillant à ce que les services fournis aient les attributs et résultats suivants:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;convainquant en termes d'objectifs business&lt;/li&gt;&lt;li&gt;prévisible et fiable&lt;/li&gt;&lt;li&gt;efficace économiquement&lt;/li&gt;&lt;li&gt;en conformité avec les stratégies&lt;/li&gt;&lt;li&gt;adaptable à l'évolution des besoins de l'entreprise.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-3800266114188356431?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/3800266114188356431/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/01/objectifs-et-fonctions-de-la-phase.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/3800266114188356431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/3800266114188356431'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/01/objectifs-et-fonctions-de-la-phase.html' title='Objectifs et fonctions de la phase Planification'/><author><name>Mouloud Amazit</name><uri>http://www.blogger.com/profile/14155493798205992403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_1SaH5f6NrPQ/SXtpjpo5hbI/AAAAAAAAABY/QnxCpGvAetg/s72-c/Phase+Plan.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-8176228532148363959</id><published>2009-01-24T18:44:00.005+01:00</published><updated>2009-03-16T12:39:03.191+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Revues de Gestion'/><title type='text'>Revues de Gestion</title><content type='html'>Pour chaque phase du cycle de vie, des revues de gestion (MR) servent à rassembler des informations et des personnes afin de déterminer le statut des services informatiques et de mettre en place les éléments préparatoires permettant d’avancer dans le cycle de vie. Les MRs sont des contrôles internes qui assurent des contrôles de validation de gestion, en veillant à ce que les objectifs soient atteints de façon adéquate, et que la valeur business soit considérée dans l'ensemble du cycle de vie des services IT. Les objectifs des revues de gestion, peu importe où elles se produisent dans le cycle de vie, sont simples: &lt;ul&gt;&lt;li&gt;Fournir un guide et une supervision de la gestion&lt;/li&gt;&lt;li&gt;Agir en tant que contrôles internes au niveau de la phase du cycle de vie &lt;/li&gt;&lt;li&gt;Évaluer l'état des activités et prévenir proactivement dans les phases suivantes &lt;/li&gt;&lt;li&gt;Capitaliser les notions organisationnelles &lt;/li&gt;&lt;li&gt;Améliorer les processus&lt;/li&gt;&lt;/ul&gt;Au cours d'une revue de gestion, les critères auxquels un service doit répondre pour se déplacer à travers le cycle de vie sont évalués par rapport à l’actuelle progression. Le MR permet de s'assurer que les objectifs sont atteints, et que les services informatiques sont en bonne voie pour livrer la valeur attendue.&lt;br /&gt;&lt;meta content="text/html; charset=utf-8" equiv="Content-Type"&gt;&lt;meta content="Word.Document" name="ProgId"&gt;&lt;meta content="Microsoft Word 12" name="Generator"&gt;&lt;meta content="Microsoft Word 12" name="Originator"&gt;&lt;link href="file:///C:%5CUsers%5Cmamazit%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" rel="File-List"&gt;&lt;link href="file:///C:%5CUsers%5Cmamazit%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" rel="themeData"&gt;&lt;link href="file:///C:%5CUsers%5Cmamazit%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" rel="colorSchemeMapping"&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;} @font-face 	{font-family:Tahoma; 	panose-1:2 11 6 4 3 5 4 4 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-520082689 -1073717157 41 0 66047 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:1.0pt; 	margin-right:0cm; 	margin-bottom:1.0pt; 	margin-left:17.85pt; 	text-align:justify; 	line-height:130%; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	mso-bidi-font-size:11.0pt; 	font-family:"Tahoma","sans-serif"; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	color:#555544; 	mso-fareast-language:EN-US;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-top:10.0pt; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:17.85pt; 	text-align:justify;} @page Section1 	{size:612.0pt 792.0pt; 	margin:70.85pt 70.85pt 70.85pt 70.85pt; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;br /&gt;La figure suivante illustre les phases du cycle de vie des services IT et les MR qui les relient :&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_1SaH5f6NrPQ/SXtUtsrzSmI/AAAAAAAAABQ/LuO47mTglMg/s1600-h/MR.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5294918930969872994" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: pointer; HEIGHT: 318px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_1SaH5f6NrPQ/SXtUtsrzSmI/AAAAAAAAABQ/LuO47mTglMg/s400/MR.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-8176228532148363959?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/8176228532148363959/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/01/revues-de-gestion.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/8176228532148363959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/8176228532148363959'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/01/revues-de-gestion.html' title='Revues de Gestion'/><author><name>Mouloud Amazit</name><uri>http://www.blogger.com/profile/14155493798205992403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_1SaH5f6NrPQ/SXtUtsrzSmI/AAAAAAAAABQ/LuO47mTglMg/s72-c/MR.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-5122211673690424127</id><published>2009-01-24T18:36:00.005+01:00</published><updated>2009-03-16T12:38:16.934+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fonction de gestion de services'/><title type='text'>Fonctions de gestion de services</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Chaque phase du cycle de vie des services informatiques contient des fonctions de gestion de service (Service Management Functions) qui définissent des processus, des personnes, et des activités requis pour aligner les services informatiques aux exigences du business. Chaque SMF a son propre guide pour expliquer le flux des fonctions et les détails des processus et activités qu’elle contient.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;La figure suivante montre les phases du cycle de vie du service informatique et les SMFs intégrées à chacune des phases :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_1SaH5f6NrPQ/SXtSjCP4O-I/AAAAAAAAABI/wY7H2Y3P0vk/s1600-h/Fonctions.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5294916548756519906" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: pointer; HEIGHT: 330px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_1SaH5f6NrPQ/SXtSjCP4O-I/AAAAAAAAABI/wY7H2Y3P0vk/s400/Fonctions.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Bien que chaque SMF puisse être pensée comme un seul ensemble de processus, il est important de comprendre comment les SMFs, dans toutes les phases, fonctionnent pour s’assurer que la fourniture des prestations de services est au niveau de qualité et au niveau de risque attendus. Dans certaines phases (telle que Deliver), les SMFs sont exécutées de façon séquentielle, alors que dans d'autres phases (telle que Operate), les SMFs peuvent être réalisées simultanément pour créer les livrables de la phase.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-5122211673690424127?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/5122211673690424127/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/01/fonctions-de-gestion-de-services.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/5122211673690424127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/5122211673690424127'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/01/fonctions-de-gestion-de-services.html' title='Fonctions de gestion de services'/><author><name>Mouloud Amazit</name><uri>http://www.blogger.com/profile/14155493798205992403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_1SaH5f6NrPQ/SXtSjCP4O-I/AAAAAAAAABI/wY7H2Y3P0vk/s72-c/Fonctions.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-7406973224148722688</id><published>2009-01-11T20:15:00.007+01:00</published><updated>2009-03-16T12:38:06.312+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cycle de Vie des services'/><title type='text'>Cycle de vie des services IT</title><content type='html'>Le cycle de vie des services IT décrit la vie d'un service informatique, de la planification et l'optimisation des services IT pour les aligner sur la stratégie de l'entreprise, en passant par la conception et la livraison des services informatiques, ainsi que les opérations et le support. Sous-jacent à tout cela se trouvent les fondements de la gouvernance des technologies de l’information, de la gestion des risques, de la conformité, de l’organisation des équipes et de la gestion du changement.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_1SaH5f6NrPQ/SXtQti5RSjI/AAAAAAAAAA4/2ksPcfttTfw/s1600-h/Cycle+de+base.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5294914530295499314" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 242px; CURSOR: pointer; HEIGHT: 245px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_1SaH5f6NrPQ/SXtQti5RSjI/AAAAAAAAAA4/2ksPcfttTfw/s320/Cycle+de+base.jpg" border="0" /&gt;&lt;/a&gt;Les phases du cycle de vie Le cycle de vie des services IT est composé de trois phases courantes et d’un niveau de base qui fonctionne avec l'ensemble des autres phases. Ces phases sont les suivantes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Phase de Planification (Plan)&lt;/li&gt;&lt;li&gt;Phase de Fourniture (Delivery)&lt;/li&gt;&lt;li&gt;Phase d’Exploitation (Operate)&lt;/li&gt;&lt;li&gt;Niveau de Gestion (Manage)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Votre organisation gère sans doute de nombreux services IT à tout moment, et ces services IT peuvent se situer dans différentes phases du cycle de vie des services IT. Par conséquent, MOF vous sera profitable si vous comprenez la façon dont toutes les phases du cycle de vie fonctionnent et la façon dont elles travaillent ensemble.&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;La &lt;strong&gt;phase de Planification&lt;/strong&gt; est généralement la phase préliminaire. L'objectif de cette phase est de planifier et optimiser une stratégie de services IT afin de soutenir les buts et objectifs métiers. &lt;/li&gt;&lt;li&gt;La &lt;strong&gt;phase de Fourniture&lt;/strong&gt; est la suivante. L'objectif de cette phase est de faire en sorte que les services soient développés de manière efficace, soient déployés avec succès, et soient prêts pour l’exploitation.&lt;/li&gt;&lt;li&gt;La suivante est la &lt;strong&gt;phase d’Exploitation&lt;/strong&gt;. L'objectif de cette phase est de s'assurer que les services IT soient gérés, entretenus et supportés d'une manière qui réponde aux besoins et exigences métiers. &lt;/li&gt;&lt;li&gt;Le &lt;strong&gt;niveau de Gestion&lt;/strong&gt; est la base du cycle de vie des services IT. Son objectif est de fournir des principes de fonctionnement et les meilleures pratiques visant à assurer que l'investissement dans les Technologies de l’Information (TI) fournit la valeur attendue à un niveau acceptable de risque. Cette phase concerne la gouvernance des TI, les risques, la conformité, les rôles et les responsabilités, la gestion du changement et la gestion des configurations. Les processus de cette phase prennent place à toutes les phases du cycle de vie.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;En suivant les guides contenus dans MOF cela peut vous aider à:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Diminuer les risques par une meilleure coordination entre les équipes&lt;/li&gt;&lt;li&gt;Reconnaître l’implication de conformité quand les stratégies sont passées en revue&lt;/li&gt;&lt;li&gt;Anticiper et atténuer les impacts&lt;/li&gt;&lt;li&gt;Découvrir les potentiels problèmes d'intégration, avant une mise en production&lt;/li&gt;&lt;li&gt;Prévenir les problèmes de performance grâce à une anticipation des seuils&lt;/li&gt;&lt;li&gt;Vous adapter efficacement à de nouveaux besoins métiers&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Quand un service informatique est mis en production pour la première fois, il est généralement le résultat d'une nouvelle initiative: conduite par l’informatique ou les métiers. Tout au long du cycle de vie du service, chaque fois que des modifications mineures, majeures ou importantes, sont réalisées, les phases du cycle de vie des services IT MOF doivent être appliquées.&lt;br /&gt;Utilisez les phases du cycle de vie des services IT MOF, quelle que soit la taille ou l'impact d'un changement. Les formalités avec lesquelles vous appliquerez le cycle de vie sont proportionnelles aux risques du changement. Vous devez faire ce qui est requis, ni plus ni moins. Par exemple, une nouvelle initiative d'envergure, comme un nouveau service sur lequel une fonction métier dépend, doit passer par, une analyse en profondeur et une revue dans la phase de planification, un plan projet formel dans la phase de fourniture, et une préparation ainsi qu’ une revue de la façon dont le service sera mis en œuvre, supporté et supervisé dans la phase d’exploitation.&lt;br /&gt;Dans la phase de Planification, les exigences sont définies avec les métiers, les stratégies sont vérifiées et des arbitrages fiables sont faits. Dans la phase de Fourniture, le changement est conçu et testé. Dans la phase d’Exploitation, le changement est réalisé dans l'environnement de production, le service est alors supervisé et si besoin, des ajustements sont faits, un support est fourni pour aider les utilisateurs et répondre aux questions qu’ils se posent sur les problèmes qui peuvent se poser suite au changement. Tout cela peut être réalisé très rapidement pour des changements mineurs à faible risque, en utilisant un minimum de processus MOF.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-7406973224148722688?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/7406973224148722688/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/01/cycle-de-vie-des-services-it.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/7406973224148722688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/7406973224148722688'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/01/cycle-de-vie-des-services-it.html' title='Cycle de vie des services IT'/><author><name>Mouloud Amazit</name><uri>http://www.blogger.com/profile/14155493798205992403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_1SaH5f6NrPQ/SXtQti5RSjI/AAAAAAAAAA4/2ksPcfttTfw/s72-c/Cycle+de+base.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-8007031084725761378</id><published>2009-01-11T18:36:00.007+01:00</published><updated>2009-03-16T12:37:54.926+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Introducton MOF'/><title type='text'>Introduction à MOF</title><content type='html'>Tout d'abord et avant de mixer des opérations permettant d'automatiser des opérations IT suivants les processus MOF et utilisant du code PowerShell, je vais au fil de l'eau traduire et vous faire partager le contenu des guides MOF fournit gratruitement par Microsoft.&lt;br /&gt;&lt;br /&gt;Microsoft ® Operations Framework (MOF) se compose de bonnes pratiques intégrées, de principes et d’activités qui fournissent des directives détaillées pour la réalisation de solutions et de services fiables. MOF fournit des guides basés sur des questions qui vous permettent de déterminer ce qui est actuellement nécessaire à votre organisation, ainsi que des activités qui permettront d'assurer le fonctionnement informatique de manière efficiente et efficace.&lt;br /&gt;&lt;br /&gt;MOF intègre toutes les activités et les processus impliqués dans la gestion des services IT : conception, déploiement, exploitation, maintenance, et retrait. MOF organise ses activités et ses processus sous forme de fonctions de gestion de services (Service Management Functions), qui sont regroupées ensemble dans des phases qui reflètent le cycle de vie des services IT.&lt;br /&gt;Chaque SMF est intégrée dans une phase du cycle de vie et contient un ensemble d'objectifs et de résultats. Un audit de service informatique permettant de passer d'une phase à l'autre est confirmé par des revues de gestion, qui veillent à ce que les objectifs soient atteints de façon appropriés et que les objectifs soient alignés avec les objectifs de l'entreprise.&lt;br /&gt;&lt;br /&gt;L'objectif de MOF est de fournir des guides aux organisations informatiques afin de les aider à créer, exploiter et supporter des services tout en veillant à ce que l’investissement informatique fournisse la valeur attendue à un niveau acceptable de risque.&lt;br /&gt;MOF a pour but de créer un environnement où les services métiers et informatique peuvent travailler ensemble, en utilisant un modèle dynamique, qui définit les processus et les procédures standards pour gagner en efficience et en efficacité. MOF favorise une approche logique pour la prise de décision, la communication ainsi que la planification, le déploiement et le support des services informatique.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-8007031084725761378?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/8007031084725761378/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/01/introduction-mof.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/8007031084725761378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/8007031084725761378'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/01/introduction-mof.html' title='Introduction à MOF'/><author><name>Mouloud Amazit</name><uri>http://www.blogger.com/profile/14155493798205992403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3146576442148488753.post-3554767739462330841</id><published>2009-01-08T23:50:00.005+01:00</published><updated>2009-01-09T12:00:16.878+01:00</updated><title type='text'>Bienvenue</title><content type='html'>&lt;span style="font-family:arial;"&gt;Bonjour et bienvenue sur ce Blog dédié au développement PowerShell orienté Processus et Bonnes Pratiques. Vous y trouverez des informations sur les bonnes pratiques ITIL associées aux technologies Microsoft ainsi que des idées de mises en oeuvre automatisées d'opérations IT, ces informations se baseront sur les éléments suivants :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;ul&gt;&lt;li&gt;Microsoft Operations Framework (MOF)&lt;/li&gt;&lt;li&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;Microsoft PowerShell&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Guides opérationnels Microsoft&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Ce blog est principalement destiné aux architectes, administrateurs, et ingénieurs système souhaitant trouver des informations et solutions simples permettant d'optimiser et simplifier leurs opérations techniques récurrentes de gestion des infrastructures Microsoft.&lt;br /&gt;&lt;br /&gt;Bonnes lectures&lt;br /&gt;Mouloud&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3146576442148488753-3554767739462330841?l=scriptingof.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scriptingof.blogspot.com/feeds/3554767739462330841/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://scriptingof.blogspot.com/2009/01/bienvenue.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/3554767739462330841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3146576442148488753/posts/default/3554767739462330841'/><link rel='alternate' type='text/html' href='http://scriptingof.blogspot.com/2009/01/bienvenue.html' title='Bienvenue'/><author><name>Mouloud Amazit</name><uri>http://www.blogger.com/profile/14155493798205992403</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
