Installer le module PowerShell dans le Portail FIM 2010 R2

Un certain nombre de cas de figure nécessite de passer par un développement PowerShell.

Voici un article qui explique comment activer ce module dans le portail FIM. Nativement ce module n'est pas accessible.

 Phase de déploiement

Récupérer les trois archives ci-dessous :

 

FIMPowerShellModuleV2-1 -> http://fimpowershellwf.codeplex.com/

FimExtensions.FimActivityLibrary -> http://fimpowershellmodule.codeplex.com/ 

Powershell Wftest -> http://www.anykeyonline.nl/blogdownloads/powershellwftest.zip

 

Commencer par créer trois répertoires sur votre serveur qui héberge le service FIM (portail FIM) tel que démontré ci-dessous et deziper les archives dans ces répertoires.

Autorisez tous les scripts PowerShell à être exécutés (Unrestricted) :

CMD : Set-ExecutionPolicy -ExecutionPolicy Unrestricted

CMD : Import-Module .\FimPowerShellModule.psm1

CMD : .\Install-FimPowerShellWF.ps1 

Exécutez le script Create-FimServiceAccountAsFimPerson.ps1

Ce Script créera un nouvelle utilisateur dans le portail FIM dont le 'displayName' est le compte de service pour le portail FIM.

Si des erreurs surviennent, ne vous ne faites pas, celle-ci ne devraient pas porter atteinte au bon déroulement de l'installation.

CMD : .\Create-FimServiceAccountAsFimPerson.ps1

Vérifier ensuite que le nouvel utilisateur est bien créé.

Exécutez le dernier script

CMD : .\Update-FimServiceConfigFile.ps1

Redémarrez le serveur web

CMD : iisreset

Le compte de service précédemment créer est normalement associé au Set administrateur.  Cette utilisateur aura donc les mêmes droits que l'administrateur. Si ce n'est pas le cas, faite le manuellement.

Nous allons maintenant tester notre installation pour valider que le module PowerShell est bien activé.

 

 

Phase d'initialisation

Set :

Commencez par créer un Set qui nous permettra de tester l'exécution du workflow.

Ce Set contiendra tous les utilisateurs dont AccountName est égale à 'azerty'. Ce Set ne contiendra pour le moment aucun utilisateur.

Workflow:

Créez le workflow dont le type sera "Action" et séléctionnez "PowerShell Activity".

Indiquer le chemin du script PowerShell que vous avez précédemment télécharger (powershellwftest.ps1), puis cliquez sur "Next" et finalement "Submit".

MPR :

Créez maintenant le MPR de type "Set Transition" qui va déclencher le workflow.

Sélectionnez le Set précédemment crée.

Ce MPR déclenchera le workflow lorsque la ressource rentrera dans ce Set "Transition in".

Le workflow que déclenchera ce MPR sera celui crée précédemment.

L'initialisation est maintenant terminée.

Il ne nous reste plus qu'à tester le module PowerShell.

 

 

Phase de test

Le script PowerShell de notre workflow va tester si celui-ci s'exécute correctement et si les informations de notre portail seront bien récupérées dans le script.

 

Principe :

Quand un utilisateur rentrera dans le Set (_Set : PowerShellWFTest) que nous avons créé, le MPR (_MPR : PowerShellWFTest) va déclencher l'exécution du workflow (_Workflow : Test workflow) qui va lui-même exécuter le script PowerShell de test (powershellwftest.ps1) qui va créer 2 fichiers et donc valider la bonne installation de ce plugin.

La première étape consiste à modifier le Set que nous avons créé tout à l'heure et dont le critère était :

accountName = azerty.

Changer ce critère pour que un et un seul utilisateur ressorte (il n'est pas recommandé que ce Set renvoie plusieurs utilisateur en phase de test).

 

Cette action va déclencher l'exécution du Workflow  (ne surtout pas prendre la compte administrator ;)  ).

Résultat :

Attendez quelques minutes, et deux fichiers .txt seront créés :

 

Le module PowerShell est maintenant activé et il est entièrement fonctionnel.

 

 

Bonne lecture.

Joris


Please publish modules in offcanvas position.