mercredi 28 janvier 2009

Création de fiche serveur avec Word 2007 et PowerShell (Partie 1)

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 ?

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 !

Quoiqu’il en soit, dans cet article en plusieurs parties, nous allons réaliser cette automatisation !

Pour cela, nous aurons besoin de 2 choses :
1. PowerShell V2 : normal non ? :)
2. OpenXML SDK 1.0 : librairie que nous allons utiliser pour manipuler le format DOCX !

Si vous n’avez pas encore installé PowerShell V2, rendez-vous sur cet article ! Sinon… vous n’avez plus qu’à télécharger OpenXML SDK 1.0 et à l’installer.

Enfin, sachez qu’il existe des Cmdlets (commandes PowerShell) créées pour manipuler le format OpenXML sur lequel s’appuient les documents Office 2007 : les PowerTools. Ces Cmdlets peuvent nous faciliter la vie et le code (en C#) est ouvert à tous : que demander de plus ?

Pour installer les PowerTools, vous aurez besoin des sources et de les compiler avec Visual C# Express par exemple pour générer la DLL… Ou bien, récupérer celle que j’ai générée pour vous ici…

Pour l’installation, dans une fenêtre PowerShell :

PS> cd C:\Windows\Microsoft.NET\Framework64\v2.0.50727
PS> .\InstallUtil.exe C:\OpenXml.PowerTools.dll
PS> Add-PSSnapin OpenXml.PowerTools

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 :.

Maintenant que nous avons tous les pré-requis, nous pouvons entrer dans le vif du sujet : générer un document Word !

Nous allons découper notre travail en plusieurs étapes :

1. Identification et récupération des informations pertinentes sur nos serveurs,
2. Mise en page du document Word,
3. Génération du document avec les données récoltées.

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…

A très bientôt pour l’étape 1 ! En attendant, préparez-vous en installant les pré-requis !

mardi 27 janvier 2009

PowerShell 2 : Introduction

PowerShell est un outil en ligne de commande capable d’administrer une machine sous Windows. Voilà une définition très formelle, presque marketing… :)

La théorie c’est fantastique, cependant dans ce blog vous trouverez aussi beaucoup de pratique !

Mais avant, pour mon premier message nous allons mettre en place un environnement simple pour tester nos futurs scripts PowerShell.

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) !
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.

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.

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 :

1. Framework .NET 2.0 : PowerShell rend accessible cette librairie en ligne de commande !
2. Framework .NET 3.5.1 : Si nous voulons utiliser l’éditeur intégré de PowerShell ; et nous le voulons !
3. PowerShell V2 CTP3 : notre outil en ligne de commande ainsi qu’un éditeur ; tout en un !
4. WinRM 2.0 CTP3 : pour utiliser les fonctionnalités d’administration à distance de PowerShell V2.

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… :)

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 !
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 !

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…

Bref, en pratique, c’est un service installé sur la machine que l’on doit démarrer… avec PowerShell !

Donc, dans une session PowerShell lancée en tant qu’administrateur local de la machine, taper la commande :

PS> Start-Service WinRM

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).
Nous allons donc dire à notre PowerShell d’écouter sur un port précis :

PS> cd WSMan:\localhost\Listener                          
PS> New-Item –Path . –Address * -Transport HTTP –Port 8080

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.

Cette opération est donc à répéter sur toutes les machines que nous voulons administrer à distance.

Nous avons donc maintenant un petit environnement dans lequel nous exercer un peu…
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 !

samedi 24 janvier 2009

Objectifs et fonctions de la phase Planification

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:

  • Comprendre la stratégie business et ses exigences ainsi que la façon dont les actuels services informatiques supportent le business
  • 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
  • Comprendre la stratégie de l'entreprise et comment elle affecte sa politique
  • Fournir la structure financière pour supporter les travaux informatiques et prendre les bonnes décisions

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:

  • convainquant en termes d'objectifs business
  • prévisible et fiable
  • efficace économiquement
  • en conformité avec les stratégies
  • adaptable à l'évolution des besoins de l'entreprise.

Revues de Gestion

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:
  • Fournir un guide et une supervision de la gestion
  • Agir en tant que contrôles internes au niveau de la phase du cycle de vie
  • Évaluer l'état des activités et prévenir proactivement dans les phases suivantes
  • Capitaliser les notions organisationnelles
  • Améliorer les processus
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.

La figure suivante illustre les phases du cycle de vie des services IT et les MR qui les relient :


Fonctions de gestion de services

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.

La figure suivante montre les phases du cycle de vie du service informatique et les SMFs intégrées à chacune des phases :


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.

dimanche 11 janvier 2009

Cycle de vie des services IT

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.

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:
  • Phase de Planification (Plan)
  • Phase de Fourniture (Delivery)
  • Phase d’Exploitation (Operate)
  • Niveau de Gestion (Manage)

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.

  • La phase de Planification 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.
  • La phase de Fourniture 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.
  • La suivante est la phase d’Exploitation. 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.
  • Le niveau de Gestion 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.

En suivant les guides contenus dans MOF cela peut vous aider à:


  • Diminuer les risques par une meilleure coordination entre les équipes
  • Reconnaître l’implication de conformité quand les stratégies sont passées en revue
  • Anticiper et atténuer les impacts
  • Découvrir les potentiels problèmes d'intégration, avant une mise en production
  • Prévenir les problèmes de performance grâce à une anticipation des seuils
  • Vous adapter efficacement à de nouveaux besoins métiers

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.
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.
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.

Introduction à MOF

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.

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.

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.
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.

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.
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.

jeudi 8 janvier 2009

Bienvenue

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 :

  • Microsoft Operations Framework (MOF)
  • Microsoft PowerShell
  • Guides opérationnels Microsoft

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.

Bonnes lectures
Mouloud