Write-Information

Hiermee geeft u op hoe PowerShell gegevensstroomgegevens verwerkt voor een opdracht.

Syntax

Write-Information
     [-MessageData] <Object>
     [[-Tags] <String[]>]
     [<CommonParameters>]

Description

De Write-Information cmdlet geeft aan hoe PowerShell gegevens streamt voor een opdracht.

Windows PowerShell 5.0 introduceert een nieuwe, gestructureerde informatiestroom. U kunt deze stroom gebruiken om gestructureerde gegevens te verzenden tussen een script en de aanroepers of de hosttoepassing. Write-Information hiermee kunt u een informatief bericht toevoegen aan de stream en opgeven hoe PowerShell gegevensstroomgegevens verwerkt voor een opdracht. Informatiestromen werken ook voor PowerShell.Streams, taken en geplande taken.

Notitie

De informatiestroom volgt niet de standaardconventie van het voorvoegsel van de berichten met '[Stream Name]:'. Dit was bedoeld voor beknoptheid en visuele reinheid.

De $InformationPreference waarde van de voorkeursvariabele bepaalt of het bericht dat u opgeeft Write-Information , wordt weergegeven op het verwachte punt in de bewerking van een script. Omdat de standaardwaarde van deze variabele SilentlyContinue is, worden standaard informatieve berichten niet weergegeven. Als u de waarde van $InformationPreferenceniet wilt wijzigen, kunt u de waarde ervan overschrijven door de algemene parameter InformationAction toe te voegen aan uw opdracht. Zie about_Preference_Variables en about_CommonParameters voor meer informatie.

Notitie

Vanaf Windows PowerShell 5.0 Write-Host is dit een wrapper waarmee Write-Information u Write-Host uitvoer naar de informatiestroom kunt verzenden. Hiermee kunt u gegevens vastleggen of onderdrukken die zijn geschreven met behoud Write-Host van achterwaartse compatibiliteit. Zie Write-Host voor meer informatie

Voorbeelden

Voorbeeld 1: Informatie schrijven voor Get-resultaten

In dit voorbeeld geeft u een informatief bericht weer, 'Processen beginnend met 'P', voordat u de Get-Process opdracht uitvoert om te zoeken naar alle processen met een naamwaarde die begint met 'p'. Omdat de $InformationPreference variabele nog steeds is ingesteld op de standaardwaarde SilentlyContinue, voegt u de Parameter InformationAction toe om de $InformationPreference waarde te overschrijven en het bericht weer te geven. De InformationAction-waarde is Doorgaan, wat betekent dat uw bericht wordt weergegeven, maar het script of de opdracht wordt voortgezet als het nog niet is voltooid.

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

Voorbeeld 2: Informatie schrijven en taggen

In dit voorbeeld gebruikt Write-Information u om gebruikers te laten weten dat ze een andere opdracht moeten uitvoeren nadat ze klaar zijn met het uitvoeren van de huidige opdracht. In het voorbeeld wordt de tag "Instructions" toegevoegd aan het informatieve bericht. Nadat u deze opdracht hebt uitgevoerd, wordt het bericht in de resultaten weergegeven wanneer u in de informatiestroom zoekt naar berichten die zijn getagd "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.

Voorbeeld 3: Gegevens naar een bestand schrijven

In dit voorbeeld leidt u de informatiestroom in de functie om naar Info.txt het gebruik van de code 6>. Wanneer u het Info.txt bestand opent, ziet u de tekst 'Hier ga je heen'.

function Test-Info
{
    Get-Process P*
    Write-Information "Here you go"
}
Test-Info 6> Info.txt

Voorbeeld 4: Object doorgeven om informatie te schrijven

In dit voorbeeld kunt Write-Information u de tien hoogste CPU-gebruiksprocessen schrijven uit de Get-Process objectuitvoer die meerdere pijplijnen doorloopt.

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}

Parameters

-MessageData

Hiermee geeft u een informatief bericht dat u wilt weergeven aan gebruikers terwijl ze een script of opdracht uitvoeren. Voor de beste resultaten plaatst u het informatieve bericht tussen aanhalingstekens.

Type:Object
Aliases:Msg, Message
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False
-Tags

Hiermee geeft u een eenvoudige tekenreeks op die u kunt gebruiken om berichten te sorteren en te filteren die u hebt toegevoegd aan de informatiestroom met Write-Information. Deze parameter werkt op dezelfde manier als de parameter Tags in New-ModuleManifest.

Type:String[]
Position:1
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

Object

Write-Information accepteert doorgesluisde objecten die moeten worden doorgegeven aan de informatiestroom.

Uitvoerwaarden

InformationRecord