Salut à tous, aujourd’hui je vous propose une brève sur la durée d’exécution de la dernière commande en PowerShell. C’est pas violent, mais pas plus tard que cette semaine je me suis retrouvé avec un vieux bout de script PowerShell « un peu moisi » à faire marcher en production et qui mettait plus de 12h à s’exécuter… quelques optimisations évidentes effectuées, j’en était toujours à plus de 8h (i.e ça débordait de mon temps de présence sur place) et j’ai oublié d’inclure dans les logs le temps de début et la fin d’exécution, ce qui fait que quand j’ai fini par réussir avec avoir une exécution qui se terminait en allant au bout, je ne savais pas combien de temps ça avait pris…^^
Il s’avère que PowerShell est toujours aussi sympa et vous conserve pour vous l’historique d’exécution, accessible via la commande Get-History, avec toutes les propriétés liées à l’exécution de chaque commande :
Du coup il m’a suffit de saisir la commande suivante pour récupérer la durée d’exécution de la dernière commande en PowerShell :
(Get-History)[-1].EndExecutionTime - (Get-History)[-1].StartExecutionTime
Et voir que mon script prenait encore 10h pour s’exécuter. Pour le coup cela me suffisait puisqu’on m’en demandait une exécution toutes les 24h seulement via une tâche planifiée Windows classique.
Voilà c’est tout pour aujourd’hui, je vous laisse explorer Get-history de votre côté en TP du weekend !
@+