Write-Host

Hiermee schrijft u aangepaste uitvoer naar een host.

Syntax

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

Description

Het Write-Host primaire doel van de cmdlet is om alleen-(host)-display-only-uitvoer te produceren, zoals het afdrukken van gekleurde tekst, zoals wanneer de gebruiker wordt gevraagd om invoer in combinatie met Read-Host. Write-Host gebruikt de methode ToString() om de uitvoer te schrijven. Als u daarentegen gegevens naar de pijplijn wilt uitvoeren, gebruikt u Write-Output of impliciete uitvoer.

U kunt de tekstkleur opgeven met behulp van de ForegroundColor parameter en u kunt de achtergrondkleur opgeven met behulp van de BackgroundColor parameter. Met de parameter Scheidingsteken kunt u een tekenreeks opgeven die moet worden gebruikt om weergegeven objecten te scheiden. Het specifieke resultaat is afhankelijk van het programma dat als host fungeert voor PowerShell.

Notitie

Vanaf Windows PowerShell 5.0 Write-Host is dit een wrapper waarmee Write-Information u Write-Host uitvoer naar de informatiestroom kunt verzenden. Dit maakt het vastleggen of onderdrukken van gegevens mogelijk die zijn geschreven met Write-Host behoud van achterwaartse compatibiliteit.

De $InformationPreference voorkeursvariabele en InformationAction de algemene parameter hebben geen invloed op Write-Host berichten. De uitzondering op deze regel is -InformationAction Ignore, waardoor uitvoer effectief wordt onderdrukt Write-Host . (zie 'Voorbeeld 5')

Voorbeelden

Voorbeeld 1: Schrijven naar de console zonder een nieuwe regel toe te voegen

Write-Host "no newline test " -NoNewline
Write-Host "second string"

no newline test second string

Met deze opdracht wordt de tekenreeks 'geen nieuwelijntest' weergegeven met de NoNewline parameter.

Een tweede tekenreeks wordt geschreven, maar eindigt op dezelfde regel als de eerste vanwege het ontbreken van een nieuwe regel tussen de tekenreeksen.

Voorbeeld 2: Schrijven naar de console en een scheidingsteken opnemen

Write-Host (2,4,6,8,10,12) -Separator ", +2= "

2, +2= 4, +2= 6, +2= 8, +2= 10, +2= 12

Met deze opdracht worden de even getallen van twee tot en met twaalf weergegeven. De parameter Scheidingsteken wordt gebruikt om de tekenreeks , +2= (komma, spatie, +, 2, =spatie) toe te voegen.

Voorbeeld 3: Schrijven met verschillende tekst- en achtergrondkleuren

Write-Host (2,4,6,8,10,12) -Separator ", -> " -ForegroundColor DarkGreen -BackgroundColor White

2, -> 4, -> 6, -> 8, -> 10, -> 12

Met deze opdracht worden de even getallen van twee tot en met twaalf weergegeven. De parameter wordt gebruikt ForegroundColor om donkergroene tekst uit te voeren en de BackgroundColor parameter om een witte achtergrond weer te geven.

Voorbeeld 4: Schrijven met verschillende tekst- en achtergrondkleuren

Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white

Red on white text.

Met deze opdracht wordt de tekenreeks 'Rood op witte tekst' weergegeven. De tekst is rood, zoals gedefinieerd door de ForegroundColor parameter. De achtergrond is wit, zoals gedefinieerd door de BackgroundColor parameter.

Voorbeeld 5: Uitvoer van Write-Host onderdrukken

# 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

Met deze opdrachten wordt de uitvoer van de Write-Host cmdlet effectief onderdrukt. De eerste gebruikt de InformationAction parameter met de Ignore waarde om de uitvoer naar de informatiestroom te onderdrukken. In het tweede voorbeeld wordt de informatiestroom van de opdracht omgeleid naar de $null variabele, waardoor deze wordt onderdrukt. Zie about_Output_Streams voor meer informatie.

Parameters

-BackgroundColor

Hiermee geeft u de achtergrondkleur. Er is geen standaardinstelling. De aanvaardbare waarden voor deze parameter zijn:

  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Gray
  • DarkGray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Yellow
  • White
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

Hiermee geeft u de tekstkleur op. Er is geen standaardinstelling. De aanvaardbare waarden voor deze parameter zijn:

  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Gray
  • DarkGray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Yellow
  • White
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

De tekenreeksweergaven van de invoerobjecten worden samengevoegd om de uitvoer te vormen. Er worden geen spaties of nieuwe regels ingevoegd tussen de uitvoertekenreeksen. Er wordt geen nieuwe regel toegevoegd na de laatste uitvoertekenreeks.

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

-Object

Objecten die in de host moeten worden weergegeven.

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

-Separator

Hiermee geeft u een scheidingstekenreeks op die moet worden ingevoegd tussen objecten die door de host worden weergegeven.

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

Invoerwaarden

Object

U kunt objecten doorsluisen die naar de host naar deze cmdlet moeten worden geschreven.

Uitvoerwaarden

None

Deze cmdlet retourneert geen uitvoer. De objecten worden naar de host verzonden. De host geeft de objecten weer die door deze cmdlet worden verzonden.

Notities

  • Bij het schrijven van een verzameling naar de host worden elementen van de verzameling afgedrukt op dezelfde regel, gescheiden door één spatie. Dit kan worden overschreven met de parameter Scheidingsteken .

  • Niet-primitieve gegevenstypen, zoals objecten met eigenschappen, kunnen onverwachte resultaten veroorzaken en geen zinvolle uitvoer bieden. Wordt bijvoorbeeld Write-Host @{a = 1; b = 2} afgedrukt System.Collections.DictionaryEntry System.Collections.DictionaryEntry naar de host.