Freigeben über


about_remote

THEMA
    about_Remote

KURZBESCHREIBUNG
    Beschreibt, wie Remotebefehle in Windows PowerShell ausgeführt werden.


DETAILBESCHREIBUNG
    Sie können Remotebefehle auf einem einzelnen Computer oder auf 
    mehreren Computern mit einer temporären oder dauerhaften 
    Verbindung ausführen. Sie können auch eine interaktive Sitzung 
    mit einem einzelnen Remotecomputer starten.
    
    Dieses Thema enthält eine Reihe von Beispielen, in denen die 
    Ausführung unterschiedlicher Typen von Remotebefehlen 
    veranschaulicht wird. Lesen Sie nach dem Ausprobieren dieser 
    grundlegenden Befehle die Hilfethemen, in denen die einzelnen 
    Cmdlets beschrieben werden, die in den Befehlen verwendet werden. 
    Die Themen enthalten nähere Informationen und erläutern, wie 
    Befehle geändert werden können, um die Anforderungen zu erfüllen.

    Hinweise: Um Windows PowerShell-Remoting zu verwenden, müssen 
              lokale Computer und Remotecomputer für Remoting konfiguriert 
              werden. Weitere Informationen finden Sie unter "about_Remote_Requi
              rements". 
          

 SO STARTEN SIE EINE INTERAKTIVE SITZUNG (ENTER-PSSESSION)

     Die einfachste Möglichkeit, Remotebefehle auszuführen, besteht 
     darin, eine interaktive Sitzung mit einem Remotecomputer zu starten. 

     Wenn die Sitzung gestartet wird, werden die eingegebenen Befehle 
     auf dem Remotecomputer ausgeführt, als ob diese direkt auf dem 
     Remotecomputer eingegeben würden. Sie können in jeder 
     interaktiven Sitzung nur eine Verbindung mit einem Computer 
     herstellen. 

     Um eine interaktive Sitzung zu starten, verwenden Sie das Cmdlet 
     "Enter-PSSession." Mit dem folgenden Befehl wird eine 
     interaktive Sitzung mit dem Computer "Server01" gestartet:

    enter-pssession server01

     Die Eingabeaufforderung ändert sich, um anzuzeigen, dass eine 
     Verbindung mit dem Computer "Server01" hergestellt wurde.

    Server01\PS> 

     Sie können nun Befehle auf dem Computer "Server01" eingeben. 

     Um die interaktive Sitzung zu beenden, geben Sie Folgendes ein:

    exit-pssession


     Weitere Informationen finden Sie unter "Enter-PSSession".

      

 SO VERWENDEN SIE CMDLETS MIT EINEM COMPUTERNAME-PARAMETER ZUM ABRUFEN VON 
 REMOTEDATEN

    Einige Cmdlets verfügen über einen ComputerName-Parameter, mit 
    dem Objekte von Remotecomputern abgerufen werden können. 

    Da diese Cmdlets kein auf WS-Management basierendes Windows 
    PowerShell-Remoting verwenden, können Sie den ComputerName-
    Parameter dieser Cmdlets auf jedem Computer verwenden, auf dem 
    Windows PowerShell ausgeführt wird.
    Die Computer müssen nicht für Windows PowerShell-Remoting 
    konfiguriert sein und keine Systemanforderungen für Remoting 
    erfüllen. 

    Folgende Cmdlets verfügen über einen ComputerName-Parameter:
 
        Clear-EventLog    Limit-EventLog
        Get-Counter       New-EventLog
        Get-EventLog      Remove-EventLog
        Get-HotFix        Restart-Computer
        Get-Process       Show-EventLog
        Get-Service       Show-Service
        Get-WinEvent      Stop-Computer
        Get-WmiObject     Write-EventLog

  
    Mit dem folgenden Befehl können Sie beispielsweise die Dienste 
    auf dem Remotecomputer "Server01" abrufen:

    get-service -computername server01

      
   In der Regel verfügen Cmdlets, die Remoting ohne besondere Konfi- 
   guration unterstützen, über den ComputerName-Parameter, aber nicht 
   den Session-Parameter. Diese Cmdlets suchen Sie in der Sitzung mit 
   dem folgenden Befehl:

     get-command | where { $_.parameters.keys -contains "ComputerName" -and $_.parameters.keys -notcontains "Session"}


 SO FÜHREN SIE EINEN REMOTEBEFEHL AUS

    Um andere Befehle auf Remotecomputern auszuführen, verwenden Sie 
    das Cmdlet "Invoke-Command".

    Geben Sie mit dem ComputerName-Parameter von Invoke-Command die 
    Remotecomputer an, um einen Befehl oder eine Reihe nicht 
    verknüpfter Befehle auszuführen. Geben Sie den Befehl im 
    ScriptBlock-Parameter an.

    Beispielsweise wird mit dem folgendem Befehl ein Get-Culture-Befehl 
    auf dem Computer "Server01" ausgeführt.

    invoke-command -computername Server01 -scriptblock {get-culture}

    Der ComputerName-Parameter ist für die Ausführung einzelner 
    Befehle oder einer Reihe nicht verknüpfter Befehle auf einem oder 
    mehreren Computern vorgesehen.
    Um eine dauerhafte Verbindung mit einem Remotecomputer 
    herzustellen, verwenden Sie den Session-Parameter.

 
 SO ERSTELLEN SIE EINE DAUERHAFTE VERBINDUNG (PSSESSION)

    Wenn Sie den ComputerName-Parameter des Cmdlet "Invoke-Command" 
    verwenden, stellt Windows PowerShell nur eine Verbindung für den 
    Befehl her. Sobald der Befehl abgeschlossen ist, wird die 
    Verbindung anschließend geschlossen. Alle Variablen oder 
    Funktionen, die im Befehl definiert wurden, werden verworfen.

    Um eine dauerhafte Verbindung mit einem Remotecomputer zu 
    erstellen, verwenden Sie das Cmdlet "New-PSSession". Der folgende 
    Befehl erstellt beispielsweise PSSessions auf dem Computer 
    "Server01" und auf dem Computer "Server02" und speichert die 
    PSSessions in der Variablen "$s".

    $s = new-pssession -computername Server01, Server02


 SO FÜHREN SIE BEFEHLE IN EINER PSSESSION AUS
  
    Mit einer PSSession können Sie eine Reihe von Remotebefehlen 
    ausführen, die gemeinsame Daten verwenden, beispielsweise 
    Funktionen, Aliase und die Werte von Variablen.
    Um Befehle in einer PSSession auszuführen, verwenden Sie den 
    Session-Parameter des Cmdlet "Invoke-Command". 

    Der folgende Befehl verwendet beispielsweise das Cmdlet 
    "Invoke-Command", um einen Get-Process-Befehl in den PSSessions 
    auf dem Computer "Server01" und auf dem Computer "Server02" 
    auszuführen. Der Befehl speichert die Prozesse in jeder PSSession 
    in einer $p-Variablen.

        invoke-command -session $s -scriptblock {$p = get-process}

    Da die PSSession eine dauerhafte Verbindung verwendet, können Sie 
    einen anderen Befehl in der gleichen PSSession ausführen, die die 
    Variable "$p" verwendet.
    Der folgende Befehl zählt die Anzahl der Prozesse, die in "$p" 
    gespeichert sind.

        invoke-command -session $s -scriptblock {$p.count} 

 SO FÜHREN SIE EINEN REMOTEBEFEHL AUF MEHREREN COMPUTERN AUS

    Um einen Remotebefehl auf mehreren Computern auszuführen, geben 
    Sie die Namen aller Computer im Wert des ComputerName-Parameters 
    von Invoke-Command ein. Trennen Sie die Namen mit Kommas.

    Der folgende Befehl führt beispielsweise auf drei Computern einen 
    Get-Culture-Befehl aus:

    invoke-command -computername S1, S2, S3 -scriptblock {get-culture}

    Sie können auch einen Befehl in mehreren PSSessions ausführen. 
    Die folgenden Befehle erstellen PSSessions auf den Computern 
    "Server01", "Server02" und "Server03", und anschließend wird je 
    ein Get-Culture-Befehl in den einzelnen PSSessions ausgeführt.

        $s = new-pssession -computername S1, S2, S3 
    invoke-command -session $s -scriptblock {get-culture}


    Um die Liste der Computer für den lokalen Computer einzuschließen,
    geben Sie den Namen des lokalen Computers und anschließend einen 
    Punkt (.) ein, oder geben Sie "localhost" ein. 

    invoke-command -computername S1, S2, S3, localhost -scriptblock {get-culture}


 SO FÜHREN SIE EIN SKRIPT AUF REMOTECOMPUTERN AUS

    Wenn Sie ein lokales Skript auf einem Remotecomputer ausführen 
    möchten, verwenden Sie den FilePath-Parameter des Cmdlet 
    "Invoke-Command".

    Mit dem folgenden Befehl wird beispielsweise das Skript 
    "Sample.ps1" auf dem Remotecomputer "S1" und auf dem 
    Remotecomputer "S2" ausgeführt:

        invoke-command -computername S1, S2 -filepath C:\Test\Sample.ps1

    Die Ergebnisse des Skripts werden an den lokalen Computer 
    zurückgegeben. Sie müssen keine Dateien kopieren.
  

 SO BEENDEN SIE EINEN REMOTEBEFEHL

   Drücken Sie STRG+C, um einen Befehl zu unterbrechen. Die 
   Unterbrechungsanforderung wird an den Remotecomputer übergeben, wo 
   der Remotebefehl beendet wird.



Weitere Informationen

    -- Informationen über die Systemanforderungen für Remoting finden 
       Sie unter "about_Remote_Requirements".

    -- Hilfe zum Formatieren der Remoteausgabe finden Sie unter 
       "about_Remote_Output".

    -- Informationen über die Remotingfunktionen, die Verwaltung von 
       Remotedaten, besondere Konfigurationen, Sicherheitsaspekte und 
       andere häufig gestellte Fragen finden Sie unter "about_Remote_FAQ".

    -- Hilfe zur Auflösung von Remotingfehlern finden Sie unter 
       "about_Remote_Troubleshooting".

    -- Informationen über PSSessions und dauerhafte Verbindungen 
       finden Sie unter "about_PSSessions".

    -- Informationen über Windows PowerShell-Hintergrundaufträge 
       finden Sie unter "about_Jobs".

STICHWÖRTER
    about_Remoting

SIEHE AUCH
    about_PSSessions
    about_Remote_Requirements
    about_Remote_FAQ
    about_Remote_TroubleShooting
    Enter-PSSession
    Invoke-Command
    New-PSSession