mardi 23 octobre 2007

Un peu d'aide sur les cmdlets?

a l'instar de notre ami SCRIPT56.CHM pour le vbs, il existe un petit chm d'aide sur PowerShell bien sympa :

ça se passe ici

Son avantage par rapport à la version de PrimalSCript, c'est l'inclusion du guide VBScript TO PowerShell, qui vous donne la version PowerShell de vos fonctions VBScript favorites!

mercredi 17 octobre 2007

Powershell et la gestion aynchrone d'évènement

Une question revient souvent dans la bouche de ceux s'essayant au monitoring avec PowerShell dans sa version actuelle : si la gestion d'event WMI est plutôt fastoche, un soucis demeure.

Le "catch" de l'évènement est prioritaire et empêche toute autre tâche tant que l'évènement n'est pas survenu... ce qui conduit à devoir fermer purement et simplement la session powershell ou la winforms si rien n'arrive, ou en cas d'erreur de code.

Il existe aujourd'hui plusieurs solutions pour gérer les évènements de façon asynchrone et nous liberer de ce soucis :

la première consiste à faire un trap sur la frappe d'une touche comme dans l'exemple donné par la powershell team ici :


Une autre plus élégante consiste à utiliser l'excellent snapin PSEventing dispo sur codeplex, qui a le mérite d'être valable pour tout autre type de gestion asynchrone (filesystemwatcher par exemple ) :



Enfin, pour les plus avant-gardiste, il est possible de gérer des évènements asynchrones en utilisant IronPyhton avec PowerShell, c'est très interessant et ça se passe sur le blog de MoW :


Le mariage entre ironPyhton et PowerShell est très prometteur, et plutôt facile à mettre en oeuvre.

avec tout cela, impossible de revoir dans l'avenir des sessions powershell killée abusivement, ni de winforms avec (le programme ne répond pas) dans la barre de titre !