Bug: System Center Operations Manager scinde les paramètres créant ainsi une commande erronée.

Mise en contexte…

J’ai rencontré un problème récemment au niveau des Tâches dans Microsoft System Center Operations Manager 2007 R1 pour lequel je n’ai pas trouvé d’article ou de résolution. Alors, qu’est ce qu’on fait… On creuse, on comprend le problème un peu plus, on le contourne et on rédige un article pour que quelqu’un d’autre en profite.

C’est un bogue au niveau du formatage des paramètres dans SCOM. Le système ajoute des espaces entre ses paramètres créant ainsi une commande erronée. Je vous présente en détail comment reproduire le problème en question et comment le contourner. Heureusement, il est réglé en R2. Si votre client utilise encore R1 ou SP1, vous serez content d’apprendre le truc 😉

Le scénario est simple : Je voulais avoir la possibilité d’ouvrir une page Web directement à partir de la Console de Operations Manager. Des informations comme le nom du serveur seraient passés en paramètre pour construire l’adresse de cette page Web.

Plus concrètement : Pour chacun de mes serveurs Microsoft Dynamics CRM 4.0, je veux, à partir de la console d’Operations Manager, ouvrir la page Web de l’organisation CRM par défaut. Mentionnons que nous utilisons l’Operations Console et non l’Authoring Console. La différence est importante.

Reproduisons le problème…

Commençons d’abord en important le Management Pack de Microsoft Dynamics CRM 4.0. Je crée ensuite un nouveau Management Pack qui va contenir les Overrides du Management Pack CRM.

Il est fortement recommandé de créer des Management Pack custom pour contenir les ajouts et les overrides aux Management Pack scellés.  Ne les ajoutez pas au Default Management Pack. Si vous le faites, vous rencontrerez une panoplie de problèmes de dépendances plus tard. (http://technet.microsoft.com/en-us/library/ee191599.aspx )

Dans la section Authoring, je crée une nouvelle Tâche que je vais emmagasiner dans mon nouveau Management Pack.

J’ai choisi un nom et saisi la description. Je cible la tâche aux serveurs CRM uniquement.

Entrons la commande que nous voulons que la tâches exécute. J’aurais pu forcer de lancer iexplore.exe. Cependant j’ai préféré laisser le système choisir son application par défaut pour les fichiers URL.

J’ajoute l’URL dans les paramètres. En commençant par http:// . Je veux ensuite le nom du serveur que je choisi dans la liste de paramètres.

Je complète l’adresse de la page Web. À des fins d’exemple j’ai spécifié un port :5555 et un nom d’organisation /MicrosoftCRM. Décocher la boite Display output.

Nous remarquons que notre nouvelle tâche apparait dans la barre d’Action lorsqu’un serveur CRM découvert est sélectionné.


Lançons la tâche…

Théoriquement, je m’attends à ce que mon navigateur par défaut soit lancé et qu’il me présente l’adresse suivante :

http://lenomduserveur.ledomaine.local:5555/Microsoft

Voici le bogue :

Le navigateur par défaut est lancé avec succès. Cependant, l’URL n’est pas le bon! Operations Manager a ajouté un espace devant le paramètre, et un espace après… Évidemment, la page ne se chargera pas avec un URL mal formaté.

Bon, un peu décevant, considérant que nous n’avons rien tenté de très complexe. Vous pouvez ouvrir les propriétés de la tâche. Les espaces sont là. Tentez de les effacer mais ils vont revenir dès que vous sauvegarderez.

J’ai vraiment besoin de cette fonctionnalité…

Contournons le problème!

Exportez le Management Pack qui contient la Tâche. Gardez en une copie en sécurité, nous allons éditer le XML.

Ouvrez le XML. Vous remarquez qu’Operations Manager a scindé notre paramètre en 4 morceaux. Les espaces inutiles, ils viennent de là!

Éditez le paramètre pour regrouper votre URL en un seul paramètre comme ci-dessous :

Sauvegardez le XML et réimportez le Management Pack

Lancez la Tâche

Et voilà! Nous avons contourné le problème! L’URL est maintenant formaté correctement et les espaces inutiles ont disparus!

En conclusion…

Nous avons vu que la version R1 et SP1 de Microsoft System Center Operations Manager gère incorrectement les paramètres d’une Tâche. Vous pouvez contourner facilement ce problème en éditant le fichier XML de votre Management Pack.

Operations Manager Create Task Wizard Task Type Console Task Command Line Management Pack Parameter problem issue bug error formatting Parameter format space character

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s