Sie sind auf Seite 1von 5

THEMA

about_Remote
KURZBESCHREIBUNG
Beschreibt, wie Remotebefehle in Windows PowerShell ausgefhrt werden.
DETAILBESCHREIBUNG
Sie knnen Remotebefehle auf einem einzelnen Computer oder auf
mehreren Computern mit einer temporren oder dauerhaften
Verbindung ausfhren. Sie knnen auch eine interaktive Sitzung
mit einem einzelnen Remotecomputer starten.

Dieses Thema enthlt eine Reihe von Beispielen, in denen die
Ausfhrung 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 nhere Informationen und erlutern, wie
Befehle gendert werden knnen, um die Anforderungen zu erfllen.
Hinweise: Um Windows PowerShell-Remoting zu verwenden, mssen
lokale Computer und Remotecomputer fr Remoting konfiguriert
werden. Weitere Informationen finden Sie unter "about_Remote_Requi
rements".

SO STARTEN SIE EINE INTERAKTIVE SITZUNG (ENTER-PSSESSION)
Die einfachste Mglichkeit, Remotebefehle auszufhren, besteht
darin, eine interaktive Sitzung mit einem Remotecomputer zu starten.
Wenn die Sitzung gestartet wird, werden die eingegebenen Befehle
auf dem Remotecomputer ausgefhrt, als ob diese direkt auf dem
Remotecomputer eingegeben wrden. Sie knnen 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 knnen 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 verfgen ber einen ComputerName-Parameter, mit
dem Objekte von Remotecomputern abgerufen werden knnen.
Da diese Cmdlets kein auf WS-Management basierendes Windows
PowerShell-Remoting verwenden, knnen Sie den ComputerName-
Parameter dieser Cmdlets auf jedem Computer verwenden, auf dem
Windows PowerShell ausgefhrt wird.
Die Computer mssen nicht fr Windows PowerShell-Remoting
konfiguriert sein und keine Systemanforderungen fr Remoting
erfllen.
Folgende Cmdlets verfgen 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 knnen Sie beispielsweise die Dienste
auf dem Remotecomputer "Server01" abrufen:
get-service -computername server01

In der Regel verfgen Cmdlets, die Remoting ohne besondere Konfi-
guration untersttzen, ber den ComputerName-Parameter, aber nicht
den Session-Parameter. Diese Cmdlets suchen Sie in der Sitzung mit
dem folgenden Befehl:
| where { $_.parameters.keys -contains "ComputerName" -and
$_.parameters.keys -notcontains "Session"}
SO FHREN SIE EINEN REMOTEBEFEHL AUS
Um andere Befehle auf Remotecomputern auszufhren, 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
verknpfter Befehle auszufhren. Geben Sie den Befehl im
ScriptBlock-Parameter an.
Beispielsweise wird mit dem folgendem Befehl ein Get-Culture-Befehl
auf dem Computer "Server01" ausgefhrt.
invoke-command -computername Server01 -scriptblock {get-culture}
Der ComputerName-Parameter ist fr die Ausfhrung einzelner
Befehle oder einer Reihe nicht verknpfter 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 fr den
Befehl her. Sobald der Befehl abgeschlossen ist, wird die
Verbindung anschlieend 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 FHREN SIE BEFEHLE IN EINER PSSESSION AUS

Mit einer PSSession knnen Sie eine Reihe von Remotebefehlen
ausfhren, die gemeinsame Daten verwenden, beispielsweise
Funktionen, Aliase und die Werte von Variablen.
Um Befehle in einer PSSession auszufhren, 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"
auszufhren. 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, knnen Sie
einen anderen Befehl in der gleichen PSSession ausfhren, die die
Variable "$p" verwendet.
Der folgende Befehl zhlt die Anzahl der Prozesse, die in "$p"
gespeichert sind.
invoke-command -session $s -scriptblock {$p.count}
SO FHREN SIE EINEN REMOTEBEFEHL AUF MEHREREN COMPUTERN AUS
Um einen Remotebefehl auf mehreren Computern auszufhren, geben
Sie die Namen aller Computer im Wert des ComputerName-Parameters
von Invoke-Command ein. Trennen Sie die Namen mit Kommas.
Der folgende Befehl fhrt beispielsweise auf drei Computern einen
Get-Culture-Befehl aus:
invoke-command -computername S1, S2, S3 -scriptblock {get-culture}
Sie knnen auch einen Befehl in mehreren PSSessions ausfhren.
Die folgenden Befehle erstellen PSSessions auf den Computern
"Server01", "Server02" und "Server03", und anschlieend wird je
ein Get-Culture-Befehl in den einzelnen PSSessions ausgefhrt.
$s = new-pssession -computername S1, S2, S3
invoke-command -session $s -scriptblock {get-culture}
Um die Liste der Computer fr den lokalen Computer einzuschlieen,
geben Sie den Namen des lokalen Computers und anschlieend einen
Punkt (.) ein, oder geben Sie "localhost" ein.
invoke-command -computername S1, S2, S3, localhost -scriptblock {get-cul
ture}
SO FHREN SIE EIN SKRIPT AUF REMOTECOMPUTERN AUS
Wenn Sie ein lokales Skript auf einem Remotecomputer ausfhren
mchten, 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" ausgefhrt:
invoke-command -computername S1, S2 -filepath C:\Test\Sample.ps1
Die Ergebnisse des Skripts werden an den lokalen Computer
zurckgegeben. Sie mssen keine Dateien kopieren.

SO BEENDEN SIE EINEN REMOTEBEFEHL
Drcken 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 fr 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 hufig gestellte Fragen finden Sie unter "about_Remote_FAQ".
-- Hilfe zur Auflsung von Remotingfehlern finden Sie unter
"about_Remote_Troubleshooting".
-- Informationen ber PSSessions und dauerhafte Verbindungen
finden Sie unter "about_PSSessions".
-- Informationen ber Windows PowerShell-Hintergrundauftrge
finden Sie unter "about_Jobs".
STICHWRTER
about_Remoting
SIEHE AUCH
about_PSSessions
about_Remote_Requirements
about_Remote_FAQ
about_Remote_TroubleShooting
Enter-PSSession
Invoke-Command
New-PSSession