Bonjour à tous,
C’est amusant mais sur des fonctionnalités de la sorte que j’ai souvent bloqué pendant mes début en PowerShell. Je profite donc d’un petit doute sur l’un de mes derniers scripts pour vous en faire profiter 🙂
Aujourd’hui, nous allons parler logs !
Qu’est-ce qu’un fichier log ?
Un fichier log, c’est un terme devenu générique qui implique tout type d’enregistrement permettant de retracer les actions effectués, conséquences, erreurs ou autres informations utiles à être traité.
Il nous permet de tracer toutes nos actions, c’est le compagnon fidèle du débogage
Pourquoi utiliser des logs ?
Au tout début, je dois avouer que je n’en avais pas l’utilité. Je faisais juste de l’affichage pour tenir les administrateurs au-courant des évènements important durant les différentes processus (vive les “Write-Host“).
Mais maintenant, travailler sans avoir une base d’évènement est, d’une part, extrêmement dure à gérer (surtout pour les processus récurrent), d’autre part, ingérable pour faire des reports plusieurs jours après ^^’. Oui, en effet, c’est du vécu !
Première Partie
La méthode simple, utiliser une cmdlet qui permet d’enregistrer une partie de votre session PowerShell. Cette cmdlet va récupérer l’ensemble des résultats demandé et les entrées utilisateur (pour ne citer qu’eux “Read-Host” et “Write-Host”)
Lancer l’enregistrement
Je sauvegarde mes enregistrements au format rtf. Pourquoi ? Tout simplement parce que j’avais trouvé ce format dans forum autour de la génération de log et puis, c’est plus facile à lire qu’un .txt (on va utiliser le WordPad au moins une fois dans notre vie ^^)
start-transcript -path ".\logs\log.rtf"
Cette commande initialise la création d’un fichier log avec les information suivante :
- La Date et l’Heure de lancement du start-transcript : YYYYMMDDHHMMSS (Année Mois Jour Heure Minute Second)
- Le Username de l’utilisateur lancent le script : Chris-Laptope\ChrisBach
- Le nom de la machine sur laquelle le script est lancé : Chris-Laptope
- Le lieu d’enregistrement du log : Transcript started, output file is .\logs\log.rtf
Stopper l’enregistrement
Cette partie est tout simple, elle met fin à la session de log
Stop-Transcript
Elle affiche seulement la Date et l’Heure de fin : YYYYMMDDHHMMSS
Exemple de log en .rtf
Les retours possibles
Write-Host "un petit echo" Write-Output "Une simple sortie" Write-Error "Ecrire avec des information d'`"erreur`"" Write-Verbose "Si tu veux plus d'information, le verbose tu dois utliser"
Aller plus loin et sources :
Start-Transcript http://technet.microsoft.com/fr-fr/library/hh849687.aspx
Stop-Transcript http://technet.microsoft.com/fr-fr/library/hh849688.aspx