Write-Information
Określa sposób obsługi danych strumienia informacji przez program Windows PowerShell dla polecenia.
Składnia
Write-Information
[-MessageData] <Object>
[[-Tags] <String[]>]
[<CommonParameters>]
Opis
Polecenie cmdlet Write-Information
określa, jak program Windows PowerShell obsługuje dane strumienia informacji dla polecenia.
Program Windows PowerShell 5.0 wprowadza nowy, ustrukturyzowany strumień informacji (numer 6 w strumieniach programu Windows PowerShell), którego można użyć do przesyłania danych strukturalnych między skryptem a jego obiektami wywołującymi (lub środowiskiem hostingu).
Write-Information
umożliwia dodanie komunikatu informacyjnego do strumienia i określenie sposobu obsługi danych strumienia informacji przez program Windows PowerShell dla polecenia. Strumienie informacji działają również dla PowerShell.Streams
, zadań, zaplanowanych zadań i przepływów pracy.
Nuta
Strumień informacji nie jest zgodne ze standardową konwencją prefiksowania komunikatów o nazwie "[Nazwa strumienia]:". Było to przeznaczone do zwięzłości i czystości wizualnej.
Wartość zmiennej preferencji $InformationPreference
określa, czy komunikat dostarczony do Write-Information
jest wyświetlany w oczekiwanym punkcie operacji skryptu.
Ponieważ domyślna wartość tej zmiennej jest SilentlyContinue
, domyślnie komunikaty informacyjne nie są wyświetlane.
Jeśli nie chcesz zmieniać wartości $InformationPreference
, możesz zastąpić jej wartość, dodając InformationAction
wspólny parametr do polecenia.
Aby uzyskać więcej informacji, zobacz about_Preference_Variables i about_CommonParameters.
Nuta
Począwszy od programu Windows PowerShell 5.0, Write-Host
jest otoką Write-Information
Umożliwia to użycie Write-Host
do emitowania danych wyjściowych do strumienia informacji.
Umożliwia to przechwytywanie lub pomijanie danych zapisywanych przy użyciu Write-Host
przy zachowaniu zgodności z poprzednimi wersjami.
Aby uzyskać więcej informacji, zobacz Write-Host
Write-Information
jest również obsługiwanym działaniem przepływu pracy.
Przykłady
Przykład 1. Zapisywanie informacji dla wyników get-
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!
W tym przykładzie zostanie wyświetlony komunikat informacyjny "Got your features!", after running the Get-WindowsFeature
command to find all features that have a Name value that starts with 'p'.
Ponieważ zmienna $InformationPreference
jest nadal ustawiona na wartość domyślną, SilentlyContinue
, należy dodać parametr InformationAction
, aby zastąpić wartość $InformationPreference
i wyświetlić komunikat.
Wartość InformationAction
to Kontynuuj, co oznacza, że komunikat jest wyświetlany, ale skrypt lub polecenie będzie kontynuowane, jeśli jeszcze nie zostało zakończone.
Przykład 2. Zapisywanie informacji i tagowanie ich
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.
W tym przykładzie użyjesz Write-Information
, aby poinformować użytkowników, że będą musieli uruchomić inne polecenie po zakończeniu uruchamiania bieżącego polecenia.
W przykładzie dodano tag Instrukcje do komunikatu informacyjnego.
Po uruchomieniu tego polecenia, jeśli przeszukujesz strumień informacji pod kątem komunikatów otagowanych Instrukcje, komunikat określony tutaj będzie jednym z wyników.
Przykład 3. Zapisywanie informacji w pliku
function Test-Info
{
Get-Process P*
Write-Information "Here you go"
}
Test-Info 6> Info.txt
W tym przykładzie przekierowujesz strumień informacji w funkcji do pliku, Info.txt, przy użyciu kodu 6>. Po otwarciu pliku Info.txt zobaczysz tekst "Here you go".
Parametry
-MessageData
Określa komunikat informacyjny, który ma być wyświetlany użytkownikom podczas uruchamiania skryptu lub polecenia. Aby uzyskać najlepsze wyniki, należy ująć komunikat informacyjny w cudzysłów. Przykładem jest "Test ukończony".
Typ: | Object |
Aliasy: | Msg |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Tags
Określa prosty ciąg, którego można użyć do sortowania i filtrowania komunikatów dodanych do strumienia informacji za pomocą Write-Information
.
Ten parametr działa podobnie do parametru Tags w New-ModuleManifest
.
Typ: | String[] |
Position: | 1 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
None
Write-Information
nie akceptuje danych wejściowych potokowych.