about_Redirection

Letzte Aktualisierung: Mai 2014

Betrifft: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

THEMA

about_Redirection

KURZE BESCHREIBUNG

Erläutert, wie die Ausgabe von Windows PowerShell® in Textdateien umgeleitet wird.

LANGE BESCHREIBUNG

Standardmäßig sendet Windows PowerShell die Befehlsausgabe an die Windows PowerShell-Konsole. Sie können die Ausgabe jedoch in eine Textdatei senden, und Sie können die Fehlerausgabe an den regulären Ausgabestream umleiten.

Sie können die Ausgabe mithilfe der folgenden Methoden umleiten:

  • - Verwenden Sie das Out-File-Cmdlet, das die Befehlsausgabe in eine Textdatei sendet. Normalerweise verwenden Sie das Out-File-Cmdlet, wenn Sie die zugehörigen Parameter wie z. B. „Encoding“, „Force“, „Width“ oder „NoClobber“ benötigen.

  • - Verwenden Sie das Tee-Object-Cmdlet, das die Befehlsausgabe in eine Textdatei und dann an die Pipeline sendet.

  • - Verwenden Sie die Windows PowerShell-Umleitungsoperatoren.

WINDOWS POWERSHELL-UMLEITUNGSOPERATOREN

Mit den Umleitungsoperatoren können Sie bestimmte Ausgabetypen an Dateien und dann an den Erfolgsausgabestream senden.

Die Windows PowerShell-Umleitungsoperatoren verwenden die folgenden Zeichen, um jeden Ausgabetyp darzustellen:

        *   All output
        1   Success output
        2   Errors
        3   Warning messages
        4   Verbose output
        5   Debug messages

HINWEIS: Die Umleitungsoperatoren „All“ (*), „Warning“ (3), „Verbose“ (4) und „Debug“ (5) wurden in Windows PowerShell 3.0 eingeführt. Sie funktionieren nicht in früheren Versionen von Windows PowerShell.

Die Windows PowerShell-Umleitungsoperatoren lauten wie folgt.

      Operator  Description                Example  
      --------  ----------------------     ------------------------------
      >         Sends output to the        Get-Process > Process.txt
                specified file.

      >>        Appends the output to      dir *.ps1 >> Scripts.txt
                the contents of the  
                specified file.

      2>        Sends errors to the        Get-Process none 2> Errors.txt
                specified file.
 
      2>>       Appends errors to          Get-Process none 2>> Save-Errors.txt
                the contents of the 
                specified file.
 
      2>&1      Sends errors (2) and       Get-Process none, Powershell 2>&1
                success output (1) 
                to the success 
                output stream.

      3>        Sends warnings to the      Write-Warning "Test!" 3> Warnings.txt
                specified file.

      3>>       Appends warnings to        Write-Warning "Test!" 3>> Save-Warnings.txt
                the contents of the 
                specified file.

      3>&1      Sends warnings (3) and     function Test-Warning 
                success output (1)         {  Get-Process PowerShell; 
                to the success                Write-Warning "Test!" }
                output stream.             Test-Warning 3>&1

      4>        Sends verbose output to    Import-Module * -Verbose 4> Verbose.txt
                the specified file.

      4>>       Appends verbose output     Import-Module * -Verbose 4>> Save-Verbose.txt
                to the contents of the 
                specified file.

      4>&1      Sends verbose output (4)   Import-Module * -Verbose 4>&1
                and success output (1)    
                to the success output
                stream.              
 
      5>        Sends debug messages to    Write-Debug "Starting" 5> Debug.txt
                the specified file.

      5>>       Appends debug messages     Write-Debug "Saving" 5>> Save-Debug.txt
                to the contents of the 
                specified file.

      5>&1      Sends debug messages (5)   function Test-Debug 
                and success output (1)     { Get-Process PowerShell 
                to the success output        Write-Debug "PS" }
                stream.                    Test-Debug 5>&1

      *>        Sends all output types     function Test-Output
                to the specified file.     { Get-Process PowerShell, none  
                                             Write-Warning "Test!"
      *>>       Appends all output types     Write-Verbose "Test Verbose"
                to the contents of the       Write-Debug "Test Debug" } 
                specified file.            
                                           Test-Output *> Test-Output.txt
      *>&1      Sends all output types     Test-Output *>> Test-Output.txt
                (*) to the success output  Test-Output *>&1      
                stream.     

Die Syntax der Umleitungsoperatoren lautet wie folgt:

       <input> <operator> [<path>\]<file>

Wenn die angegebene Datei bereits vorhanden ist, überschreiben die Umleitungsoperatoren, die keine Daten anfügen (> und n>), ohne Warnung den aktuellen Inhalt der Datei. Wenn es sich jedoch um eine schreibgeschützte Datei, eine versteckte Datei oder eine Systemdatei handelt, schlägt die Umleitung fehl. Die Umleitungsoperatoren, die Daten anfügen (>> und n>>), schreiben nicht in eine schreibgeschützte Datei, fügen jedoch Inhalt an eine Systemdatei oder eine versteckte Datei an.

Um die Umleitung von Inhalt in eine schreibgeschützte Datei, eine versteckte Datei oder eine Systemdatei zu erzwingen, verwenden Sie das Out-File-Cmdlet mit dem Force-Parameter. Beim Schreiben in Dateien verwenden die Umleitungsoperatoren die Unicode-Codierung. Wenn die Datei eine andere Codierung aufweist, wird die Ausgabe möglicherweise nicht ordnungsgemäß formatiert. Zum Umleiten von Inhalt in Nicht-Unicode-Dateien verwenden Sie das Out-File-Cmdlet mit dem Encoding-Parameter.

SIEHE AUCH

Out-File

Tee-Object

about_Operators

about_Command_Syntax

about_Path_Syntax