Write-Information
Anger hur PowerShell hanterar informationsströmdata för ett kommando.
Syntax
Write-Information
[-MessageData] <Object>
[[-Tags] <String[]>]
[<CommonParameters>]
Description
Cmdleten Write-Information anger hur PowerShell hanterar informationsströmdata för ett kommando.
Windows PowerShell 5.0 introducerar en ny, strukturerad informationsström. Du kan använda den här strömmen för att överföra strukturerade data mellan ett skript och dess anropare eller värdprogrammet.
Write-Information låter dig lägga till ett informationsmeddelande till strömmen och ange hur PowerShell hanterar informationsströmdata för ett kommando. Informationsströmmar fungerar också för PowerShell.Streams, jobb och schemalagda aktiviteter.
Anteckning
Informationsströmmen följer inte standardkonventionen för prefixet dess meddelanden med "[Stream Name]:". Detta var avsett för korthet och visuell renlighet.
Värdet $InformationPreference för inställningsvariabeln avgör om meddelandet som du anger Write-Information visas vid den förväntade punkten i ett skripts åtgärd. Eftersom standardvärdet för den här variabeln är TystFortsätt visas inte informationsmeddelanden som standard.
Om du inte vill ändra värdet $InformationPreferenceför kan du åsidosätta dess värde genom att lägga till den gemensamma Parametern InformationAction i kommandot. Mer information finns i about_Preference_Variables och about_CommonParameters.
Anteckning
Från och med Windows PowerShell 5.0 Write-Host är en omslutning för Write-Information Detta gör att du kan använda Write-Host för att skicka utdata till informationsströmmen. Detta möjliggör avbildning eller undertryckning av data som skrivs med Write-Host samtidigt som bakåtkompatibilitet bevaras. Mer information finns i Write-Host
Exempel
Exempel 1: Skriv information för Get-resultat
I det här exemplet visar du ett informationsmeddelande, "Processer som börjar med "P", innan du kör Get-Process kommandot för att hitta alla processer som har ett Namn-värde som börjar med "p".
Eftersom variabeln $InformationPreference fortfarande är inställd på standardvärdet SilentlyContinue lägger du till parametern InformationAction för att åsidosätta $InformationPreference värdet och visa meddelandet. InformationAction-värdet är Fortsätt, vilket innebär att meddelandet visas, men skriptet eller kommandot fortsätter, om det inte är klart ännu.
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
Exempel 2: Skriv information och tagga den
I det här exemplet använder Write-Information du för att meddela användarna att de behöver köra ett annat kommando när de är klara med att köra det aktuella kommandot. I exemplet läggs taggen "Instructions" till i informationsmeddelandet. När du har kört det här kommandot finns meddelandet i resultatet när du söker i informationsströmmen efter meddelanden som har taggats "Instructions".
$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.
Exempel 3: Skriva information till en fil
I det här exemplet omdirigerar du informationsströmmen i funktionen till att Info.txt använda koden 6>. När du öppnar Info.txt filen visas texten "Here you go".
function Test-Info
{
Get-Process P*
Write-Information "Here you go"
}
Test-Info 6> Info.txt
Exempel 4: Skicka objekt för att skriva information
I det här exemplet kan du använda Write-Information för att skriva de 10 högsta processoranvändningsprocesserna från objektutdata Get-Process som passerar genom flera 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}
Parametrar
Anger ett informationsmeddelande som du vill visa för användarna när de kör ett skript eller kommando. För bästa resultat omger du informationsmeddelandet inom citattecken.
| Type: | Object |
| Aliases: | Msg, Message |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
Anger en enkel sträng som du kan använda för att sortera och filtrera meddelanden som du har lagt till i informationsströmmen med Write-Information. Den här parametern fungerar på samma sätt som parametern Taggar i New-ModuleManifest.
| Type: | String[] |
| Position: | 1 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Indata
Write-Information accepterar piped-objekt som ska skickas till informationsströmmen.
Utdata
Relaterade länkar
Feedback
Skicka och visa feedback för