Write-Host
Schreibt eine angepasste Ausgabe in einen Host.
Syntax
Default (Standardwert)
Write-Host
[[-Object] <Object>]
[-NoNewline]
[-Separator <Object>]
[-ForegroundColor <ConsoleColor>]
[-BackgroundColor <ConsoleColor>]
[<CommonParameters>]
Beschreibung
Der hauptzweck des cmdlets Write-Host ist die Erstellung einer schreibgeschützten Ausgabe (host)-display-only, z. B. beim Drucken von farbigem Text, z. B. beim Auffordern des Benutzers zur Eingabe in Verbindung mit Read-Host-.
Write-Host verwendet die ToString() Methode, um die Ausgabe zu schreiben. Verwenden Sie zum Ausgeben von Daten an die Pipeline Write-Output- oder implizite Ausgabe.
Sie können die Textfarbe mithilfe des ForegroundColor-Parameters angeben, und Sie können die Hintergrundfarbe mithilfe des BackgroundColor-Parameters angeben. Mit dem Parameter Separator können Sie eine Zeichenfolge angeben, die zum Trennen der angezeigten Objekte verwendet werden soll. Das jeweilige Ergebnis hängt vom Programm ab, das PowerShell hosten soll.
Hinweis
Ab Windows PowerShell 5.0 ist Write-Host ein Wrapper für Write-Information. Damit können Sie Write-Host zum Ausgeben der Ausgabe an den Informationsstrom verwenden. Dies ermöglicht die Erfassung oder Unterdrückung von Daten, die mithilfe von Write-Host geschrieben wurden, während die Abwärtskompatibilität beibehalten wird.
Die $InformationPreference Einstellungsvariable und InformationAction allgemeinen Parameter wirken sich nicht auf Write-Host Nachrichten aus. Die Ausnahme dieser Regel ist -InformationAction Ignore, wodurch Write-Host Ausgabe effektiv unterdrückt wird. (siehe "Beispiel 5")
Beispiele
Beispiel 1: Schreiben in die Konsole ohne Hinzufügen einer neuen Zeile
Write-Host "no newline test " -NoNewline
Write-Host "second string"
no newline test second string
Mit diesem Befehl wird die Zeichenfolge "no newline test" mit dem NoNewline-Parameter angezeigt.
Eine zweite Zeichenfolge wird geschrieben, aber sie endet auf derselben Zeile wie die erste aufgrund des Fehlens einer neuen Zeile, die die Zeichenfolgen trennt.
Beispiel 2: Schreiben in die Konsole und Einschließen eines Trennzeichens
Write-Host (2,4,6,8,10,12) -Separator ", +2= "
2, +2= 4, +2= 6, +2= 8, +2= 10, +2= 12
Mit diesem Befehl werden die geraden Zahlen von zwei bis zwölf angezeigt. Der parameter Separator wird verwendet, um die Zeichenfolge , +2= hinzuzufügen (Komma, Leerzeichen, +, 2, =, Leerzeichen).
Beispiel 3: Schreiben mit unterschiedlichen Text- und Hintergrundfarben
Write-Host (2,4,6,8,10,12) -Separator ", -> " -ForegroundColor DarkGreen -BackgroundColor White
2, -> 4, -> 6, -> 8, -> 10, -> 12
Mit diesem Befehl werden die geraden Zahlen von zwei bis zwölf angezeigt. Er verwendet den parameter ForegroundColor, um dunkelgrünen Text und den parameter BackgroundColor anzuzeigen, um einen weißen Hintergrund anzuzeigen.
Beispiel 4: Schreiben mit unterschiedlichen Text- und Hintergrundfarben
Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white
Red on white text.
Mit diesem Befehl wird die Zeichenfolge "Rot auf weißem Text" angezeigt. Der Text ist rot, wie durch den parameter ForegroundColor definiert. Der Hintergrund ist weiß, wie durch den parameter BackgroundColor definiert.
Beispiel 5: Unterdrücken der Ausgabe von Write-Host
# The following two statements can be used to effectively suppress output from Write-Host
Write-Host "I won't print" -InformationAction Ignore
Write-Host "I won't print" 6> $null
Diese Befehle unterdrücken die Ausgabe des cmdlets Write-Host effektiv. Der erste verwendet den InformationAction-Parameter mit dem Ignore Value, um die Ausgabe in den Informationsstrom zu unterdrücken.
Im zweiten Beispiel wird der Informationsstrom des Befehls an die $null Variable umgeleitet und dadurch unterdrückt. Weitere Informationen finden Sie unter about_Output_Streams.
Parameter
-BackgroundColor
Gibt die Hintergrundfarbe an. Es gibt keinen Standardwert. Die zulässigen Werte für diesen Parameter sind:
BlackDarkBlueDarkGreenDarkCyanDarkRedDarkMagentaDarkYellowGrayDarkGrayBlueGreenCyanRedMagentaYellowWhite
Parametereigenschaften
| Typ: | ConsoleColor |
| Standardwert: | None |
| Zulässige Werte: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ForegroundColor
Gibt die Textfarbe an. Es gibt keinen Standardwert. Die zulässigen Werte für diesen Parameter sind:
BlackDarkBlueDarkGreenDarkCyanDarkRedDarkMagentaDarkYellowGrayDarkGrayBlueGreenCyanRedMagentaYellowWhite
Parametereigenschaften
| Typ: | ConsoleColor |
| Standardwert: | None |
| Zulässige Werte: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-NoNewline
Die Zeichenfolgendarstellungen der Eingabeobjekte werden verkettet, um die Ausgabe zu bilden. Zwischen den Ausgabezeichenfolgen werden keine Leerzeichen oder Newlines eingefügt. Nach der letzten Zeichenfolge der Ausgabe wird kein Zeilenumbruch eingefügt.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Object
Objekte, die auf dem Host angezeigt werden sollen.
Parametereigenschaften
| Typ: | Object |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Msg, Nachricht |
Parametersätze
(All)
| Position: | 0 |
| Obligatorisch.: | False |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Separator
Gibt eine Trennzeichenfolge an, die zwischen objekten eingefügt werden soll, die vom Host angezeigt werden.
Parametereigenschaften
| Typ: | Object |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
Object
Sie können Objekte weiterleiten, die an diesen Host geschrieben werden sollen.
Ausgaben
None
Dieses Cmdlet gibt keine Ausgabe zurück. Sie sendet die Objekte an den Host. Der Host zeigt die Objekte an, die dieses Cmdlet an das Cmdlet sendet.
Hinweise
Beim Schreiben einer Auflistung in den Host werden Elemente der Auflistung in derselben Zeile gedruckt, die durch ein einzelnes Leerzeichen getrennt ist. Dies kann mit dem parameter Separator überschrieben werden.
Nicht primitive Datentypen wie Objekte mit Eigenschaften können zu unerwarteten Ergebnissen führen und keine aussagekräftige Ausgabe bereitstellen. Beispielsweise druckt
Write-Host @{a = 1; b = 2}System.Collections.DictionaryEntry System.Collections.DictionaryEntryan den Host.