Wie man Informationsnachrichten in PowerShell ausgibt

  1. Einführung in das Exportieren von Ausgaben in PowerShell
  2. der Write-Output Cmdlet in PowerShell
  3. der Write-Host und Write-Information Cmdlet in PowerShell
  4. der Write-Warning Cmdlet in PowerShell
  5. der Write-Debug Cmdlet in PowerShell
  6. der Write-Error Cmdlet in PowerShell
  7. der Write-Verbose Cmdlet in PowerShell
Wie man Informationsnachrichten in PowerShell ausgibt

Das Schreiben von Informationsnachrichten in die Konsole ist ein wesentlicher Prozess in jeder Sprache, da es dem Benutzer korrekt Rückmeldung gibt. Es gibt jedoch verschiedene Möglichkeiten, Nachrichten in Windows PowerShell auszugeben.

Dieser Artikel wird die verschiedenen Schreibbefehle differenzieren, wie das Schreiben von Informations-, Warn- und Fehlermeldungen, und Situationen bereitstellen, in denen und wo wir sie verwenden können.

Einführung in das Exportieren von Ausgaben in PowerShell

Bevor wir mit der Diskussion der verschiedenen Schreibbefehle beginnen, ist es erwähnenswert, dass PowerShell eine Nachricht durch das Einfassen einer einzelnen Zeile in einfache ('') oder doppelte Anführungszeichen ("") ausgeben kann.

Beispielcode:

"Hello World!"
'Hello World'

Ausgabe:

Hello World!
Hello World

Diese Syntax ist in PowerShell aufgrund des literalen Ausdrucks der Zeichenfolge und der versteckten Zeichenfolgenpipeline möglich. Die mehreren oben stehenden Code-Snippets sind gleichwertig mit dem unten stehenden Beispielcode.

Beispielcode:

"Hello World!" | Out-Host

Der Befehl Out-Host sendet die Objekte, die zur Anzeige auf der Konsole vorgesehen sind.

der Write-Output Cmdlet in PowerShell

Die erste Druckmethode ist der Befehl Write-Output. Dieses Cmdlet ist die grundlegendste Syntax aller Druckmethoden innerhalb der PowerShell-Skripting-Umgebung.

Wir können es mit vielen verschiedenen grundlegenden Druckmethoden anderer Sprachen wie print und stdout gleichsetzen.

Beispielcode:

Write-Output "Hello World!"

Ausgabe:

Hello World!

der Write-Host und Write-Information Cmdlet in PowerShell

Der Befehl Write-Host ist eine weitere Druckmethode, die der vorherigen, Write-Output, ähnelt.

Der einzige Unterschied dieses Befehls, bevor er in PowerShell 5.0 aktualisiert wurde, ist, dass die Methode nur Nachrichten mit unterschiedlichen Farben mithilfe der Parameter -BackgroundColor und -ForegroundColor ausgeben kann.

Wie bereits erwähnt, ist Write-Host seit Windows PowerShell 5.0 ein Wrapper für Write-Information. Dies ermöglicht es uns, Write-Host zu verwenden, um Ausgaben an den Informationsstream zu senden.

Dieses Cmdlet ermöglicht die Unterdrückung oder Erfassung von Daten, die mit dem Befehl Write-Host geschrieben wurden, während die Abwärtskompatibilität beibehalten wird.

Die Präferenzvariable $InformationPreference und der Standardparameter -InformationAction beeinflussen keine Write-Host-Nachrichten. Die Ausnahme von dieser Regel ist -InformationAction Ignore, das effektiv die Ausgabe von Write-Host unterdrückt.

Das Schreiben in den Informationsstream mithilfe von Write-Host oder Write-Information wird keine Probleme mit Ihrer Ausgabestring erzeugen.

Wir können auch die Sichtbarkeit des Informationsstroms manipulieren, wenn wir den Parameter -InformationAction verwenden, vorausgesetzt, wir binden auch den gegebenen Parameterwert an die Write-Host-Anweisungen in der Funktion.

Zum Beispiel wird das folgende Beispiel standardmäßig den Informationsstrom deaktivieren, es sei denn, es wird anders über den Parameter -InformationAction angefordert.

Write-Host 'This is a test message' -InformationAction $InformationPreference -ForegroundColor Green

der Write-Warning Cmdlet in PowerShell

Der Befehl Write-Warning schreibt eine Warnmeldung an den Windows PowerShell-Host. Die Reaktion auf das Warnereignis hängt vom Wert der $WarningPreference-Variable des Benutzers und vom Standardparameter -WarningAction ab.

Die gültigen Werte der $WarningPreference-Variable sind wie folgt.

  1. Stop - Zeigt die Warn- und Fehlermeldungen an und stoppt dann die Ausführung.
  2. Inquire - Zeigt die Warnmeldung an und fordert den Benutzer auf, die Erlaubnis zur Fortsetzung in Form einer Bestätigungsnachricht zu geben.
  3. Continue - Der Standardwert der Variablen. Zeigt die Warnmeldung an und führt sie dann aus.
  4. SilentlyContinue - Zeigt die Warnmeldung nicht an. Fährt mit der Ausführung fort.

Beispielcode:

Write-Warning "This is only a test warning notification." -WarningAction Continue

der Write-Debug Cmdlet in PowerShell

Der Befehl Write-Debug ist ebenfalls eine weitere Methode zum Drucken in PowerShell. Dieser wird jedoch häufig mehr in der Entwicklung für das Drucken von Debug-Nachrichten in der Skripting-Umgebung verwendet.

Die Debug-Nachrichten werden standardmäßig nicht angezeigt, können jedoch mithilfe der Variablen $debugPreference geändert werden.

Beispielcode:

Write-Debug "Error on line 1. Please investigate."
$debugPreference = "Continue"
Write-Debug "Error on line 5. Please investigate."

Ausgabe:

DEBUG: Error on line 5. Please investigate.

der Write-Error Cmdlet in PowerShell

Der Befehl Write-Error gibt einen nicht-terminierenden Fehler aus. Standardmäßig werden die Fehler im Fehlersstream an das PowerShell-Hostprogramm gesendet, um zusammen mit der Ausgabe exportiert zu werden.

Um einen nicht-terminierenden Fehler auszugeben, geben Sie einen Fehlernachrichtstring, ein ErrorRecord-Objekt oder ein Exception-Objekt ein. Verwenden Sie dann die verschiedenen Parameter von Write-Error, um den Fehlerdatensatz zu erstellen, den wir exportieren werden.

Nicht-terminierende Fehler schreiben einen Fehler in den Fehlerstream, stoppen jedoch nicht die Befehlsverarbeitung. Wenn beispielsweise ein nicht-terminierender Fehler bei einem Element in einer Gruppe von Eingabeelementen auftritt, fährt das Cmdlet fort, die anderen Elemente zu verarbeiten.

Beispielcode:

Write-Error "Invalid object" -ErrorId B1 -TargetObject $_

Ausgabe:

Write-Error "Invalid object" -ErrorId B1 -TargetObject $_ : Invalid object
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : B1

der Write-Verbose Cmdlet in PowerShell

Der Befehl Write-Verbose schreibt Text in den detaillierten Nachrichtenstream in PowerShell.

Wie der Befehl Write-Debug wird die detaillierte Nachricht standardmäßig nicht angezeigt, kann jedoch mithilfe der Variablen $VerbosePreference oder durch Hinzufügen des Schalterparameters -Verbose angezeigt werden.

Beispielcode:

Write-Verbose -Message "This will not be displayed."
Write-Verbose -Message "This will be displayed" -Verbose

Ausgabe:

VERBOSE: This will be displayed
Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn