Write-Information
Spécifie la façon dont PowerShell gère les données de flux d’informations pour une commande.
Syntax
Write-Information
[-MessageData] <Object>
[[-Tags] <String[]>]
[<CommonParameters>]
Description
L’applet Write-Information
de commande spécifie la façon dont PowerShell gère les données de flux d’informations pour une commande.
Windows PowerShell 5.0 introduit un nouveau flux d’informations structuré. Vous pouvez utiliser ce flux pour transmettre des données structurées entre un script et ses appelants ou l’application hôte.
Write-Information
vous permet d’ajouter un message d’information au flux et de spécifier la façon dont PowerShell gère les données de flux d’informations pour une commande. Les flux d’informations fonctionnent également pour PowerShell.Streams
, les travaux et les tâches planifiées.
Notes
Le flux d’informations ne suit pas la convention standard consistant à préfixer ses messages par « [nom Stream] : ». Cela était destiné à la concision et à la propreté visuelle.
La $InformationPreference
valeur de la variable de préférence détermine si le message que vous fournissez s’affiche Write-Information
au point attendu dans l’opération d’un script. Étant donné que la valeur par défaut de cette variable est SilentlyContinue, par défaut, les messages d’information ne s’affichent pas.
Si vous ne souhaitez pas modifier la valeur de $InformationPreference
, vous pouvez remplacer sa valeur en ajoutant le paramètre commun InformationAction à votre commande. Pour plus d’informations, consultez about_Preference_Variables et about_CommonParameters.
Notes
À partir de Windows PowerShell 5.0, Write-Host
est un wrapper pour cela vous permet d’utiliser Write-Host
pour Write-Information
émettre une sortie vers le flux d’informations. Cela permet la capture ou la suppression des données écrites à l’aide Write-Host
de tout en préservant la compatibilité descendante. Pour plus d’informations, consultez Write-Host
Exemples
Exemple 1 : Écrire des informations pour Obtenir les résultats
Dans cet exemple, vous affichez un message d’information, « Processus commençant par « P », avant d’exécuter la commande pour rechercher tous les processus dont la Get-Process
valeur Name commence par « p ».
Étant donné que la $InformationPreference
variable est toujours définie sur sa valeur par défaut, SilentlyContinue, vous ajoutez le paramètre InformationAction pour remplacer la $InformationPreference
valeur et afficher le message. La valeur InformationAction est Continue, ce qui signifie que votre message s’affiche, mais que le script ou la commande continue, s’il n’est pas encore terminé.
Write-Information -MessageData "Processes starting with 'P'" -InformationAction Continue
Get-Process -Name p*
Processes starting with 'P'
18 19.76 15.16 0.00 6232 0 PFERemediation
20 8.92 25.15 0.00 24944 0 policyHost
9 1.77 7.64 0.00 1780 0 powercfg
10 26.67 32.18 0.00 7028 0 powercfg
8 26.55 31.59 0.00 13600 0 powercfg
9 1.66 7.55 0.00 22620 0 powercfg
21 6.17 4.54 202.20 12536 1 PowerMgr
42 84.26 12.71 2,488.84 20588 1 powershell
27 47.07 45.38 2.05 25988 1 powershell
27 24.45 5.31 0.00 12364 0 PresentationFontCache
92 112.04 13.36 82.30 13176 1 pwsh
106 163.73 93.21 302.25 14620 1 pwsh
227 764.01 92.16 1,757.22 25328 1 pwsh
Exemple 2 : Écrire des informations et les baliser
Dans cet exemple, vous utilisez Write-Information
pour informer les utilisateurs qu’ils doivent exécuter une autre commande une fois qu’ils ont terminé d’exécuter la commande actuelle. L’exemple ajoute la balise "Instructions"
au message d’information. Après avoir exécuté cette commande, lorsque vous recherchez des messages étiquetés "Instructions"
dans le flux d’informations , le message se trouve dans les résultats.
$message = "To filter your results for PowerShell, pipe your results to the Where-Object cmdlet."
Get-Process -Name p*
Write-Information -MessageData $message -Tags "Instructions" -InformationAction Continue
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
18 19.76 15.16 0.00 6232 0 PFERemediation
20 8.92 25.15 0.00 24944 0 policyHost
9 1.77 7.64 0.00 1780 0 powercfg
10 26.67 32.18 0.00 7028 0 powercfg
8 26.55 31.59 0.00 13600 0 powercfg
9 1.66 7.55 0.00 22620 0 powercfg
21 6.17 4.54 202.20 12536 1 PowerMgr
42 84.26 12.71 2,488.84 20588 1 powershell
27 47.07 45.38 2.05 25988 1 powershell
27 24.45 5.31 0.00 12364 0 PresentationFontCache
92 112.04 13.36 82.30 13176 1 pwsh
106 163.73 93.21 302.25 14620 1 pwsh
227 764.01 92.16 1,757.22 25328 1 pwsh
To filter your results for PowerShell, pipe your results to the Where-Object cmdlet.
Exemple 3 : Écrire des informations dans un fichier
Dans cet exemple, vous redirigez le flux d’informations dans la fonction vers l’utilisation Info.txt
du code 6>
. Lorsque vous ouvrez le Info.txt
fichier, vous voyez le texte « Here you go ».
function Test-Info
{
Get-Process P*
Write-Information "Here you go"
}
Test-Info 6> Info.txt
Exemple 4 : Passer un objet pour écrire des informations
Dans cet exemple, vous pouvez utiliser Write-Information
pour écrire les 10 processus les plus élevés d’utilisation du processeur à partir de la sortie de l’objet Get-Process
qui a transité par plusieurs pipelines.
Get-Process | Sort-Object CPU -Descending |
Select-Object Id, ProcessName, CPU -First 10 |
Write-Information -InformationAction Continue
@{Id=12692; ProcessName=chrome; CPU=39431.296875}
@{Id=21292; ProcessName=OUTLOOK; CPU=23991.875}
@{Id=10548; ProcessName=CefSharp.BrowserSubprocess; CPU=20546.203125}
@{Id=312848; ProcessName=Taskmgr; CPU=13173.1875}
@{Id=10848; ProcessName=SnapClient; CPU=7014.265625}
@{Id=9760; ProcessName=Receiver; CPU=6792.359375}
@{Id=12040; ProcessName=Teams; CPU=5605.578125}
@{Id=498388; ProcessName=chrome; CPU=3062.453125}
@{Id=6900; ProcessName=chrome; CPU=2546.9375}
@{Id=9044; ProcessName=explorer; CPU=2358.765625}
Paramètres
-MessageData
Spécifie un message d’information que vous souhaitez afficher aux utilisateurs lors de l’exécution d’un script ou d’une commande. Pour obtenir de meilleurs résultats, placez le message d’information entre guillemets.
Type: | Object |
Aliases: | Msg, Message |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Tags
Spécifie une chaîne simple que vous pouvez utiliser pour trier et filtrer les messages que vous avez ajoutés au flux d’informations avec Write-Information
. Ce paramètre fonctionne de la même façon que le paramètre Tags dans New-ModuleManifest
.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entrées
Write-Information
accepte les objets canal à transmettre au flux d’informations.