Share via


Write-Host

Schreibt angepasste Ausgabe an einen Host.

Syntax

Write-Host
     [[-Object] <Object>]
     [-NoNewline]
     [-Separator <Object>]
     [-ForegroundColor <ConsoleColor>]
     [-BackgroundColor <ConsoleColor>]
     [<CommonParameters>]

Beschreibung

Der Write-Host Hauptzweck des Cmdlets besteht darin, nur für(Host)-Anzeigeausgaben zu erzeugen, z. B. das Drucken von farbigem Text, z. B. wenn der Benutzer in Verbindung mit Read-Host zur Eingabe aufgefordert wird. Write-Host verwendet die ToString() -Methode, um die Ausgabe zu schreiben. Im Gegensatz dazu verwenden Sie write-Output oder implizite Ausgabe, um Daten an die Pipeline auszugeben.

Sie können die Farbe des Texts mithilfe des ForegroundColor -Parameters angeben, und Sie können die Hintergrundfarbe mithilfe des BackgroundColor -Parameters angeben. Mit dem Separator-Parameter 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 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.

Die $InformationPreference Einstellungsvariable und InformationAction der allgemeine Parameter wirken sich nicht auf Nachrichten aus Write-Host . Die Ausnahme von dieser Regel ist , wodurch die Ausgabe effektiv unterdrückt Write-Host wird-InformationAction Ignore. (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

Dieser Befehl zeigt die Zeichenfolge "no newline test" mit dem NoNewline Parameter an.

Eine zweite Zeichenfolge wird geschrieben, aber sie endet in derselben Zeile wie die erste, da keine Zeilenumbruchzeile zwischen den Zeichenfolgen vorhanden ist.

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

Dieser Befehl zeigt die geraden Zahlen zwischen zwei und zwölf an. Der Separator-Parameter wird verwendet, um die Zeichenfolge , +2= (Komma, Leerzeichen, +, 2, =, Leerzeichen) hinzuzufügen.

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

Dieser Befehl zeigt die geraden Zahlen zwischen zwei und zwölf an. Es verwendet den ForegroundColor Parameter, um dunkelgrünen Text auszugeben, und der BackgroundColor Parameter, 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.

Dieser Befehl zeigt die Zeichenfolge "Rot auf weißem Text" an. Der Text ist rot, wie durch den ForegroundColor Parameter definiert. Der Hintergrund ist weiß, wie durch den BackgroundColor -Parameter 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 effektiv die Ausgabe des Write-Host Cmdlets. Die erste verwendet den InformationAction Parameter mit dem Wert, um die Ignore Ausgabe an den Informationsstream zu unterdrücken. Im zweiten Beispiel wird der Informationsstream des Befehls an die $null Variable umgeleitet und dadurch unterdrückt.

Parameter

-BackgroundColor

Gibt die Hintergrundfarbe an. Es gibt keinen Standardwert. Zulässige Werte für diesen Parameter:

  • Schwarz
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Grau
  • DarkGray
  • Blau
  • Grün
  • Cyan
  • Red
  • Magenta
  • Gelb
  • Weiß
Type:ConsoleColor
Accepted values:Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ForegroundColor

Gibt die Textfarbe an. Es gibt keinen Standardwert. Zulässige Werte für diesen Parameter:

  • Schwarz
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Grau
  • DarkGray
  • Blau
  • Grün
  • Cyan
  • Red
  • Magenta
  • Gelb
  • Weiß
Type:ConsoleColor
Accepted values:Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NoNewline

Die Zeichenfolgendarstellungen der Eingabeobjekte werden verkettet, um die Ausgabe zu bilden. Zwischen den Ausgabezeichenfolgen werden keine Leerzeichen oder Zeileneinbrüche eingefügt. Nach der letzten Ausgabezeichenfolge wird kein Zeilenumbruch hinzugefügt.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Object

Objekte, die auf dem Host angezeigt werden sollen.

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

-Separator

Gibt eine Trennzeichenfolge an, die zwischen objekten eingefügt werden soll, die vom Host angezeigt werden.

Type:Object
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Eingaben

Object

Sie können die an den Host zu schreibenden Objekte weiterreichen.

Ausgaben

None

Write-Host sendet die -Objekte an den Host. und gibt keine Objekte zurück. Der Host zeigt jedoch die Objekte an, die Write-Host an ihn gesendet werden.

Hinweise

  • Beim Schreiben einer Auflistung auf den Host werden Elemente der Auflistung in derselben Zeile gedruckt, getrennt durch ein einziges Leerzeichen. 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. Wird z. Write-Host @{a = 1; b = 2} B. auf dem Host ausgegeben System.Collections.DictionaryEntry System.Collections.DictionaryEntry .