PI Services

Le blog des collaborateurs de PI Services

Utilisation des cmdlets Exchange 2010 dans System Center Orchestrator.

 

Si vous avez déjà utiliser le module "Exécuter. NET Script" dans System Center Orchestrator, vous avez pu voir que nativement, Orchestrator étant lui même une application 32-bit, il exécute la version 32 bits de PowerShell.

Cela pose problème, si vous voulez utiliser par exemple les comandlets Exchange 2010.

En effet le  snap-in "Microsoft.Exchange.Management.PowerShell.E2010", qui est chargé d'exécuter les cmdlets Exchange, est uniquement disponible en version 64-bit. Donc, le fait d’utiliser le module Orchestrator "Exécuter. NET Script" ne fonctionne pas.

Une des solutions possibles à ce problème consiste a exécuter une version 64-bit de PowerShell.exe à l'intérieur du script. Comme ceci:

OrchestratorPowerShell

Le dossier "Sysnative” n'est en fait pas vraiment un dossier, mais un alias:

Dans les systèmes x64 Windows, les fichiers système sont stockés dans "% WINDIR%\ System32". Dans les systèmes 32 bits les fichiers sont sous "%WINDIR%\SysWOW64". Ainsi, afin d'exécuter la version 64 bits de PowerShell.exe, il nous faut exécuter PowerShell.exe depuis "C:\Windows\system32\WindowsPowerShell\v1.0".

Mais cela ne fonctionne pas en raison de la redirectionWoW64  du système de fichiers. Pour remedier a cela "Sysnative" est l'alias spécial reconnus par WoW64 (responsable de la gestion applications 32 bits), qui indique que le système de fichiers ne doit pas rediriger l'accès à SysWOW64.

Bien sur dans cet exemple, le composant Exchange Management Tools doit être installé sur le runbook server Orchestrator, afin de pouvoir utiliser le snap-in Exchange PowerShell . Conseil supplémentaire: Vous devez définir la variable "$ ErrorActionPreference" à "Stop", comme indiqué ci-dessus, ainsi Orchestrator reconnaitra le runbook comme ayant échoué, si des exceptions se produisent.

runbook tester