Write-Information
Anger hur Windows PowerShell hanterar informationsströmdata för ett kommando.
Syntax
Write-Information
[-MessageData] <Object>
[[-Tags] <String[]>]
[<CommonParameters>]
Description
Cmdleten Write-Information
anger hur Windows PowerShell hanterar informationsströmdata för ett kommando.
Windows PowerShell 5.0 introducerar en ny strukturerad informationsström (nummer 6 i Windows PowerShell-strömmar) som du kan använda för att överföra strukturerade data mellan ett skript och dess anropare (eller värdmiljö).
Write-Information
kan du lägga till ett informationsmeddelande i strömmen och ange hur Windows PowerShell hanterar informationsströmdata för ett kommando. Informationsströmmar fungerar också för PowerShell.Streams
, jobb, schemalagda jobb och arbetsflöden.
Not
Informationsströmmen följer inte standardkonventionen om prefix för dess meddelanden med "[Stream Name]:". Detta var avsett för korthet och visuell renlighet.
Värdet för $InformationPreference
inställningsvariabel avgör om meddelandet du anger till Write-Information
visas vid den förväntade tidpunkten i ett skripts åtgärd.
Eftersom standardvärdet för den här variabeln är SilentlyContinue
visas inte informationsmeddelanden som standard.
Om du inte vill ändra värdet för $InformationPreference
kan du åsidosätta dess värde genom att lägga till den InformationAction
gemensamma parametern i kommandot.
Mer information finns i about_Preference_Variables och about_CommonParameters.
Not
Från och med Windows PowerShell 5.0 är Write-Host
en omslutning för Write-Information
Detta gör att du kan använda Write-Host
för att generera utdata till informationsströmmen.
På så sätt kan samla in eller undertryckning av data som skrivits med Write-Host
samtidigt som bakåtkompatibiliteten bevaras.
Mer information finns i Write-Host
Write-Information
är också en arbetsflödesaktivitet som stöds.
Exempel
Exempel 1: Skriv information för Get-results
Get-WindowsFeature -Name p*; Write-Information -MessageData "Got your features!" -InformationAction Continue
Display Name Name Install State
------------ ---- -------------
[ ] Print and Document Services Print-Services Available
[ ] Print Server Print-Server Available
[ ] Distributed Scan Server Print-Scan-Server Available
[ ] Internet Printing Print-Internet Available
[ ] LPD Service Print-LPD-Service Available
[ ] Peer Name Resolution Protocol PNRP Available
[X] Windows PowerShell PowerShellRoot Installed
[X] Windows PowerShell 5.0 PowerShell Installed
[ ] Windows PowerShell 2.0 Engine PowerShell-V2 Removed
[X] Windows PowerShell ISE PowerShell-ISE Installed
Got your features!
I det här exemplet visar du ett informationsmeddelande, "Got your features!", efter att du har kört kommandot Get-WindowsFeature
för att hitta alla funktioner som har ett namnvä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.
Det InformationAction
värdet är Fortsätt, vilket innebär att meddelandet visas, men skriptet eller kommandot fortsätter om det inte är klart än.
Exempel 2: Skriv information och tagga den
Get-WindowsFeature -Name p*; Write-Information -MessageData "To filter your results for PowerShell, pipe your results to the Where-Object cmdlet." -Tags "Instructions" -InformationAction Continue
Display Name Name Install State
------------ ---- -------------
[ ] Print and Document Services Print-Services Available
[ ] Print Server Print-Server Available
[ ] Distributed Scan Server Print-Scan-Server Available
[ ] Internet Printing Print-Internet Available
[ ] LPD Service Print-LPD-Service Available
[ ] Peer Name Resolution Protocol PNRP Available
[X] Windows PowerShell PowerShellRoot Installed
[X] Windows PowerShell 5.0 PowerShell Installed
[ ] Windows PowerShell 2.0 Engine PowerShell-V2 Removed
[X] Windows PowerShell ISE PowerShell-ISE Installed
To filter your results for PowerShell, pipe your results to the Where-Object cmdlet.
I det här exemplet använder du Write-Information
för att meddela användarna att de behöver köra ett annat kommando när de har kört det aktuella kommandot.
Exemplet lägger till taggen Instruktioner i informationsmeddelandet.
När du har kört det här kommandot, om du söker i informationsströmmen efter meddelanden taggade Instruktioner, skulle meddelandet som anges här vara bland resultaten.
Exempel 3: Skriva information till en fil
function Test-Info
{
Get-Process P*
Write-Information "Here you go"
}
Test-Info 6> Info.txt
I det här exemplet omdirigerar du informationsströmmen i funktionen till en fil, Info.txt, med hjälp av koden 6>. När du öppnar Info.txt-filen visas texten "Här är du".
Parametrar
-MessageData
Anger ett informationsmeddelande som du vill visa för användare när de kör ett skript eller kommando. För bästa resultat omger du informationsmeddelandet inom citattecken. Ett exempel är "Test complete".
Typ: | Object |
Alias: | Msg |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Tags
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
.
Typ: | String[] |
Position: | 1 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
None
Write-Information
accepterar inte piped-indata.