TIP - Administration Exchange 2007 et PowerShell V2 Integrated scripting environment (ISE)

Il est possible d’installer l’environnement PowerShell V2 CTP3 (pour Community Technology Preview 3 càd la dernière version “pre-beta”) et l’utiliser pour scripter et administrer votre environnement Exchange 2007.

Cette console facilite grandement la création de scripts (via la coloration synthaxique dans l’éditeur et l’intellisense) et est beaucoup plus fun que la console noire et blanche toute simple de PowerShell V1 :-)

I- Les prérequis sont:

  • 1- Désinstaller la version PowerShell V1 du poste ou du serveur de test  (Hotfix for Windows Server 2003 (KB926139) )
    Note : PowerShell V2 est toujours en cours de développement, il est donc déconseillé de l’installer sur un serveur en production. Préférez une station d’administration par exemple, et/ou un serveur de test.)

Sur votre station ou votre serveur de test, vous aurez le message suivant :
image 
cliquez donc sur Yes, les services listés ci-dessus ne seront pas affectés, on retire simplement une console d’administration PowerShell pour la remplacer par une autre… d’où également la recommandation de ne pas installer Powershell V2 sur un serveur de production :)

Lorsque vous lancerez la console d’administration Exchange 2007 PowerShell “non graphique”, vous travaillerez bien avec la version 2 de PowerShell. Pour le vérifier, tapez la ligne $host.version

- PowerShell V1 donne :
 image

- PowerShell V2 donne :
image

Par contre, dans la version actuelle de PowerShell V2 CTP, on n’aura pas de lien vers la console graphique “ISE” avec les Cmd-lets Exchange.

II- Voici la procédure d’activation des Cmd-lets Exchange 2007 dans la console graphique ISE:

Pour administrer Exchange 2007 en utilisant la console graphique ISE , la procédure est simple et consiste à charger les cmd-lets et fonctions PowerShell Exchange comme suit (je ne vais pas expliquer chaque ligne de commande, leur signification se lit dans la commande :-) ):

0- Ouvrez une fenêtre de commande PowerShell ISE :

Menu Démarrer –> Tous les programmes –> Windows PowerShell V2 (CTP3) –> Windows PowerShell ISE (CTP3)
image

1- Vérifiez que vous avez bien les outils d’administration Exchange 2007 installés sur votre poste ou votre serveur :

>_ Get-PSSnapin –registered

image

Name : Microsoft.Exchange.Management.PowerShell.Admin
PSVersion : 1.0
Description : Admin Tasks for the Exchange Server

2- Tapez la commande :

>_ add-pssnapin Microsoft.Exchange.Management.PowerShell.Admin

 image
Note : la commande ne retourne rien.

3- Vérifiez que votre console ISE a bien chargé les composants d’administration Exchange en tapant la commande :

>_ Get-PSSnapin

qui doit vous afficher parmi une liste de “Snapins”  PowerShell préexistante :

Name : Microsoft.Exchange.Management.PowerShell.Admin
PSVersion : 1.0
Description : Admin Tasks for the Exchange Server

image

4- Exécutez le script Exchange.ps1 se trouvant dans Lecteur:\>Program files\Microsoft\Exchange Server\bin\Exchange.ps1

Tip : pour utiliser les variables d’environnement dans PowerShell (rappelez-vous, dans l’invite de commande DOS on les appelait entre “%” - %systemroot%, %programfiles%, etc…), utilisez la variable $env:variable (exemple : $env:systemroot, $env:programfiles …), puis tapez la suite du chemin complet vers le script ( \Microsoft\Exchange Server\bin\Exchange.ps1), le tout entre guillemets et précédé d’une esperlouette “&” (indique à PowerShell d’exécuter ce qui se trouve entre guillemets, sinon la chaîne de caractères sera bêtement reprise) :
>_ & “$env:Programfiles\Microsoft\Exchange Server\bin\Exchange.ps1”

image

(Ce script enregistre quelques fonctions supplémentaires spécifiques à l’administration Exchange Powershell dans l’environnement PowerShell courant, comme get-excommand, quickref, …)

et le tour est joué :-)

III- Notes de conclusion

Note 1: PowerShell V2 CTP3 n’est qu’en version “CTP”, je déconseille son installation sur un serveur Exchange 2007 de production. Vous pouvez par contre l’installer sur votre station d’administration Exchange 2007, ou sur vos serveurs de test sans soucis.

Note 2 : Encore une fois, pour tous les réfractaires au scripting et à la ligne de commande, la nouvelle console ISE, ça change la vie d’un administrateur !

Have fun,

Sam.