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 primäre Zweck des Cmdlets besteht darin, die ausgabe nur für(host)-display-only zu erzeugen, z. B. beim Drucken von farbigem Text, z. B. beim Aufrufen 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 in die Pipeline die Schreibausgabe oder die 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 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 ist ein Wrapper dafürWrite-Information, Write-Host dass Sie die Write-Host Ausgabe an den Informationsstream senden können. Dies ermöglicht die Erfassung oder Unterdrückung von Daten, die mithilfe Write-Host von Daten geschrieben wurden, während die Abwärtskompatibilität beibehalten wird.

Die Einstellungsvariable und InformationAction der $InformationPreference allgemeine Parameter wirken sich nicht auf Nachrichten ausWrite-Host. Die Ausnahme dieser Regel ist -InformationAction Ignore, die die Ausgabe effektiv unterdrückt Write-Host . (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 "keine Newlinetest" mit dem NoNewline Parameter an.

Eine zweite Zeichenfolge wird geschrieben, aber sie endet auf derselben Zeile wie die erste, weil eine neue Zeile nicht vorhanden ist, 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= (Komma, Leerzeichen, +, Leerzeichen, 2Leerzeichen, =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

Mit diesem Befehl werden die geraden Zahlen von zwei bis zwölf angezeigt. Er verwendet den ForegroundColor Parameter, um dunklen grünen Text und den BackgroundColor Parameter zum Anzeigen eines weißen Hintergrunds auszugeben.

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 die Ausgabe des Write-Host Cmdlets effektiv. Im ersten wird der InformationAction Parameter mit dem Wert verwendet, um die Ignore Ausgabe im Informationsstrom zu unterdrücken. Im zweiten Beispiel wird der Informationsstrom 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 Neulinien eingefügt. Nach der letzten Ausgabezeichenfolge wird keine Neue Zeile hinzugefügt.

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

-Object

Objekte, die im 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 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 unerwartete Ergebnisse verursachen und keine aussagekräftige Ausgabe bereitstellen. Wird beispielsweise Write-Host @{a = 1; b = 2} auf den Host gedruckt System.Collections.DictionaryEntry System.Collections.DictionaryEntry .