Freigeben über


Write-Information

Gibt an, wie PowerShell Informationsstreamdaten für einen Befehl behandelt.

Syntax

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

Beschreibung

Das Write-Information Cmdlet gibt an, wie PowerShell Informationsstreamdaten für einen Befehl behandelt.

Windows PowerShell 5.0 führt einen neuen strukturierten Informationsstream ein. Sie können diesen Stream verwenden, um strukturierte Daten zwischen einem Skript und dessen Aufrufenden oder der Hostanwendung zu übertragen. Write-Information mit können Sie dem Stream eine Informationsmeldung hinzufügen und angeben, wie PowerShell Informationsstreamdaten für einen Befehl behandelt. Informationsstreams funktionieren auch für PowerShell.Streams, Aufträge und geplante Vorgänge.

Hinweis

Der Informationsstream folgt nicht der Standardkonvention, seinen Nachrichten "[Stream Name]:" voran zu stellen. Dies war aus Platzgründen und visueller Sauberkeit gedacht.

Der $InformationPreference Wert der Einstellungsvariablen bestimmt, ob die Nachricht, für die Sie angeben, Write-Information am erwarteten Punkt im Vorgang eines Skripts angezeigt wird. Da der Standardwert dieser Variablen standardmäßig ist SilentlyContinue, werden keine Informationsmeldungen angezeigt. Wenn Sie den Wert von nicht ändern möchten, können Sie den Wert überschreiben $InformationPreference, indem Sie dem Befehl den InformationAction allgemeinen Parameter hinzufügen. Weitere Informationen finden Sie unter about_Preference_Variables und about_CommonParameters.

Hinweis

Ab Windows PowerShell 5.0 Write-Host ist ein Wrapper für Write-Information This ermöglicht es Ihnen, Write-Host die Ausgabe an den Informationsstream auszugeben. Dies ermöglicht die Erfassung oder Unterdrückung von mit geschriebenen Write-Host Daten, während die Abwärtskompatibilität erhalten bleibt. Weitere Informationen finden Sie unter Write-Host.

Write-Information ist auch eine unterstützte Workflowaktivität in PowerShell 5.x.

Beispiele

Beispiel 1: Schreiben von Informationen für Get-Ergebnisse

In diesem Beispiel zeigen Sie die Informationsmeldung "Got your features!" an, nachdem Sie den Get-WindowsFeature Befehl ausgeführt haben, um alle Features zu finden, die über einen Name-Wert verfügen, der mit "p" beginnt. Da die $InformationPreference Variable weiterhin auf den Standardwert festgelegt ist, SilentlyContinuefügen Sie den InformationAction Parameter hinzu, um den $InformationPreference Wert zu überschreiben, und zeigen die Meldung an. Der InformationAction Wert ist Weiter. Dies bedeutet, dass Ihre Nachricht angezeigt wird, aber das Skript oder der Befehl wird fortgesetzt, wenn sie noch nicht abgeschlossen ist.

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!

Beispiel 2: Schreiben und Markieren von Informationen

In diesem Beispiel verwenden Write-Information Sie, um Benutzern mitzuteilen, dass sie einen anderen Befehl ausführen müssen, nachdem sie den aktuellen Befehl ausgeführt haben. Im Beispiel wird der Informationsmeldung das Tag Anweisungen hinzugefügt. Wenn Sie nach dem Ausführen dieses Befehls den Informationsstream nach Nachrichten durchsuchen, die mit Anweisungen gekennzeichnet sind, gehört die hier angegebene Meldung zu den Ergebnissen.

$message = "To filter your results for PowerShell, pipe your results to the Where-Object cmdlet."
Get-WindowsFeature -Name p*
Write-Information -MessageData $message -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.

Beispiel 3: Schreiben von Informationen in eine Datei

In diesem Beispiel leiten Sie den Informationsstream in der Funktion mithilfe des Codes 6>an umInfo.txt. Wenn Sie die Info.txt Datei öffnen, wird der Text "Hier gehen Sie los" angezeigt.

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

Beispiel 4: Übergeben eines Objekts zum Schreiben von Informationen

In diesem Beispiel können Sie verwenden Write-Information , um die 10 wichtigsten CPU-Auslastungsprozesse aus der Objektausgabe zu schreiben, die Get-Process mehrere Pipelines durchlaufen hat.

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}

Parameter

-MessageData

Gibt eine Informationsmeldung an, die Benutzern beim Ausführen eines Skripts oder Befehls angezeigt werden soll. Um optimale Ergebnisse zu erzielen, schließen Sie die Informationsmeldung in Anführungszeichen ein.

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

-Tags

Gibt eine einfache Zeichenfolge an, die Sie zum Sortieren und Filtern von Nachrichten verwenden können, die Sie dem Informationsstream mit Write-Informationhinzugefügt haben. Dieser Parameter funktioniert ähnlich wie der Tags-Parameter in New-ModuleManifest.

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

Eingaben

Object

Write-Information akzeptiert Pipeobjekte, die an den Informationsstream übergeben werden.

Ausgaben

InformationRecord