Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| powershell_addlog [2019/12/12 10:11] – [Cas n°2] nekan | powershell_addlog [2021/03/05 16:09] (Version actuelle) – nekan | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ~~CLOSETOC~~ | ||
| ====== Add-Log - Ajouter des messages dans un fichier log et dans la console ====== | ====== Add-Log - Ajouter des messages dans un fichier log et dans la console ====== | ||
| + | <label type=" | ||
| La gestion des inscriptions dans un fichier log ou l' | La gestion des inscriptions dans un fichier log ou l' | ||
| Ligne 6: | Ligne 6: | ||
| ===== Script ===== | ===== Script ===== | ||
| - | <sxh powershell># | + | <sxh powershell># |
| Function Add-Log() | Function Add-Log() | ||
| { | { | ||
| - | <# | + | |
| - | .SYNOPSIS | + | .SYNOPSIS |
| - | Fonction d' | + | Fonction d' |
| - | + | | |
| - | .DESCRIPTION | + | .DESCRIPTION |
| - | Cette Cmdlet enregistre une information horodatée dans le fichier spécifié. L' | + | Cette Cmdlet enregistre une information horodatée dans le fichier spécifié. L' |
| - | + | | |
| - | .PARAMETER | + | .PARAMETER |
| - | Précise le degré d' | + | Précise le degré d' |
| - | + | | |
| - | .PARAMETER | + | .PARAMETER |
| - | Indique le texte à enregistrer. | + | Indique le texte à enregistrer. |
| - | + | | |
| - | .PARAMETER | + | .PARAMETER |
| - | Enregistre une ligne (séparation) dans le fichier de log. | + | Enregistre une ligne (séparation) dans le fichier de log. |
| - | + | | |
| - | .PARAMETER | + | .PARAMETER |
| - | Chemin du fichier log dans lequel enregister les informations. | + | Chemin du fichier log dans lequel enregister les informations. |
| - | + | | |
| - | .PARAMETER | + | .PARAMETER |
| - | Affiche dans la console | + | |
| - | Les informations bénéficient d'une coloration syntaxique spécifique à chaque niveau d' | + | LogFile : le message est inscrit uniquement |
| - | + | | |
| - | .PARAMETER | + | |
| - | Affiche les informations | + | |
| - | Les informations bénéficient d' | + | .EXAMPLE |
| - | + | Add-Log -LogFile C:\test.log -Type INFO -Message "Ceci est un test" | |
| - | .EXAMPLE | + | |
| - | Add-Log -LogFile C:\test.log -Type INFO -Message "Ceci est un test" | + | Exécuté le 21/09/2012 à 13h24.57, |
| - | + | 21/09/2012 13: | |
| - | Exécuté le 21/09/2012 à 13h24.57, | + | |
| - | | + | .EXAMPLE |
| - | + | Add-Log -LogFile C:\test.log -Line -Out LogFile | |
| - | .EXAMPLE | + | |
| - | Add-Log -LogFile C:\test.log -Line | + | Ajoute une ligne dans le fichier C:\test.log |
| - | + | ||
| - | Ajoute une ligne dans le fichier C:\test.log | + | .INPUTS |
| + | Pas de pipeline. Seulement les arguments nommés. | ||
| + | |||
| + | .OUTPUTS | ||
| + | Affichage console avec le paramètre -Out (Console ou Both) | ||
| + | Ajout de données dans un fichier spécifié avec le paramètre -Out (LogFile ou Both) | ||
| + | |||
| + | .NOTES | ||
| + | Crée par Nicolas THOREZ, Shyrka System | ||
| + | |||
| + | .LINK | ||
| + | https:// | ||
| + | |||
| + | #> | ||
| + | |||
| + | Param | ||
| + | ( | ||
| + | # Type de Message | ||
| + | [Parameter(Mandatory = $false, ValueFromPipeline = $false)] | ||
| + | [ValidateSet(" | ||
| + | [string]$Type, | ||
| + | # Message à enregistrer et/ou afficher | ||
| + | [Parameter(Mandatory = $false, ValueFromPipeline = $false)] | ||
| + | [string]$Message, | ||
| + | # Switch pour demander de tracer une ligne (séparation) dans le log | ||
| + | [Parameter(Mandatory = $false, ValueFromPipeline = $false)] | ||
| + | [switch]$Line, | ||
| + | # Fichier dans lequel enregistrer les logs | ||
| + | [Parameter(Mandatory = $true, ValueFromPipeline = $false)] | ||
| + | [string]$LogFile, | ||
| + | # Mode de sortie (log, console ou les deux) | ||
| + | [Parameter(Mandatory = $true, ValueFromPipeline = $false)] | ||
| + | [ValidateSet(" | ||
| + | [string]$Out | ||
| + | ) | ||
| - | .INPUTS | + | # On teste si le fichier |
| - | Pas de pipeline. Seulement les argumentss nommées. | + | |
| - | + | { | |
| - | .OUTPUTS | + | |
| - | Affichage console | + | } |
| - | Ajout de données dans un fichier | + | |
| - | + | If ($Line) | |
| - | .NOTES | + | { |
| - | Crée par Nicolas THOREZ, Shyrka System | + | # Si on a activer le switch -Line, on ajoute une ligne dans le fichier log un ligne |
| - | + | If ($Out -ne " | |
| - | .LINK | + | { |
| - | https:// | + | # On affiche dans la console |
| - | + | Write-Host " | |
| - | #> | + | } |
| - | + | If ($Out -ne " | |
| - | Param | + | { |
| - | ( | + | # On inscrit dans le fichier log |
| - | # Type de Message | + | |
| - | [Parameter(Mandatory = $false, | + | } |
| - | [ValidateSet(" | + | } |
| - | [string]$Type, | + | Else |
| - | # Message à enregistrer et/ou afficher | + | { |
| - | [Parameter(Mandatory = $false, ValueFromPipeline = $false)] | + | # Sinon, on traite le message |
| - | [string]$Message, | + | $CheckTime = Get-Date -Format G |
| - | # Switch pour demander de tracer une ligne (séparation) dans le log | + | If ($Out -ne " |
| - | [Parameter(Mandatory = $false, ValueFromPipeline = $false)] | + | { |
| - | [switch]$Line, | + | # On affiche le message avec une certaine coloration syntaxique |
| - | # Fichier dans lequel enregistrer les logs | + | Switch ($Type) |
| - | [Parameter(Mandatory = $true, ValueFromPipeline = $false)] | + | { |
| - | [string]$LogFile, | + | " |
| - | # Mode verbeux, affichage des informations dans la console avec coloration syntaxique | + | { |
| - | [Parameter(Mandatory = $false, ValueFromPipeline = $false)] | + | |
| - | [switch]$Console, | + | } |
| - | # Mode console uniquement, pas d' | + | " |
| - | [Parameter(Mandatory = $false, ValueFromPipeline = $false)] | + | { |
| - | [switch]$ConsoleOnly | + | |
| - | ) | + | } |
| - | + | " | |
| - | If ($Line) | + | { |
| - | { | + | $Color = " |
| - | # Si on a activer le switch -Line, on ajoute une ligne dans le fichier log un ligne | + | } |
| - | If (($Console) | + | " |
| - | { | + | { |
| - | # Si -Console est activée, on affiche dans la console | + | $Color = " |
| - | Write-Host " | + | } |
| - | } | + | " |
| - | If (-not $ConsoleOnly) | + | { |
| - | { | + | $Color = " |
| - | Add-Content -Path $LogFile -Value " | + | } |
| - | } | + | } |
| - | } | + | Write-Host " |
| - | Else | + | Write-Host " |
| - | { | + | Write-Host $Message |
| - | # Sinon, on traite le message | + | } |
| - | $CheckTime = Get-Date -Format | + | If ($Out -ne " |
| - | If (($Console) | + | { |
| - | { | + | Add-Content -Path $LogFile -Value " |
| - | # Si -Console est activé, on affiche le message avec une certaine coloration syntaxique | + | } |
| - | Switch ($Type) | + | } |
| - | { | + | |
| - | " | + | |
| - | { | + | |
| - | $Color = " | + | |
| - | } | + | |
| - | " | + | |
| - | { | + | |
| - | $Color = " | + | |
| - | } | + | |
| - | " | + | |
| - | { | + | |
| - | $Color = " | + | |
| - | } | + | |
| - | " | + | |
| - | { | + | |
| - | $Color = " | + | |
| - | } | + | |
| - | } | + | |
| - | Write-Host " | + | |
| - | Write-Host " | + | |
| - | Write-Host $Message | + | |
| - | } | + | |
| - | If (-not $ConsoleOnly) | + | |
| - | { | + | |
| - | Add-Content -Path $LogFile -Value " | + | |
| - | } | + | |
| - | } | + | |
| } | } | ||
| </ | </ | ||
| Ligne 141: | Ligne 148: | ||
| Les commandes suivantes : | Les commandes suivantes : | ||
| - | <sxh powershell> | + | <sxh powershell> |
| - | Add-Log -LogFile C: | + | Add-Log -LogFile C: |
| - | Add-Log -LogFile C: | + | Add-Log -LogFile C: |
| vont ajouter des informations dans le fichier '' | vont ajouter des informations dans le fichier '' | ||
| Ligne 153: | Ligne 160: | ||
| ==== Cas n°2 ==== | ==== Cas n°2 ==== | ||
| - | En ajoutant | + | En ajoutant |
| - | <sxh powershell> | + | <sxh powershell> |
| - | Add-Log -LogFile C: | + | Add-Log -LogFile C: |
| - | Add-Log -LogFile C: | + | Add-Log -LogFile C: |
| On obtient dans le fichier log : | On obtient dans le fichier log : | ||
| Ligne 165: | Ligne 172: | ||
| et dans la console : | et dans la console : | ||
| - | {{ : | + | <image shape=" |
| - | --- // | + | |
| ~~DISCUSSION~~ | ~~DISCUSSION~~ | ||