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