Udostępnij za pośrednictwem


about_Remote

Krótki opis

Opisuje sposób uruchamiania poleceń zdalnych w programie PowerShell.

Długi opis

Polecenia zdalne można uruchamiać na jednym lub wielu komputerach zdalnych przy użyciu tymczasowego lub trwałego połączenia. Możesz również rozpocząć sesję interaktywną z jednym komputerem zdalnym.

Uwaga

Aby korzystać z komunikacji zdalnej programu PowerShell, należy skonfigurować komputery lokalne i zdalne na potrzeby komunikacji zdalnej. Aby uzyskać więcej informacji, zobacz about_Remote_Requirements.

Jak rozpocząć sesję interaktywną

Najprostszym sposobem uruchamiania poleceń zdalnych jest rozpoczęcie sesji interakcyjnej z komputerem zdalnym.

Po rozpoczęciu sesji polecenia, które są uruchamiane na komputerze zdalnym, tak jakby wpisywano je bezpośrednio na komputerze zdalnym. W każdej sesji interakcyjnej można nawiązać połączenie tylko z jednym komputerem.

Aby rozpocząć sesję interaktywną, użyj Enter-PSSession polecenia cmdlet . Następujące polecenie uruchamia interaktywną sesję z komputerem Server01:

Enter-PSSession Server01

Program PowerShell zmienia wiersz polecenia, aby uwzględnić nazwę komputera zdalnego.

Server01\PS>

Teraz możesz wpisać polecenia na komputerze Server01.

Aby zakończyć sesję interaktywną, wpisz:

Exit-PSSession

Aby uzyskać więcej informacji, zobacz Enter-PSSession.

Jak uruchomić polecenie zdalne

Aby uruchomić inne polecenia na komputerach zdalnych, użyj Invoke-Command polecenia cmdlet .

Aby uruchomić jedno polecenie lub kilka niepowiązanych poleceń, użyj parametru ComputerName , Invoke-Command aby określić komputery zdalne. Użyj parametru ScriptBlock , aby określić polecenie.

Na przykład następujące polecenie uruchamia Get-Culture polecenie na komputerze Server01.

Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Culture}

Jak utworzyć trwałe połączenie

W przypadku korzystania z parametru Invoke-CommandComputerName polecenia cmdlet program PowerShell ustanawia tymczasowe połączenie z komputerem zdalnym. Zamyka połączenie po zakończeniu wykonywania polecenia. Wszystkie zmienne lub funkcje zdefiniowane w tej sesji tymczasowej zostaną utracone.

Aby utworzyć trwałe połączenie z komputerem zdalnym, użyj New-PSSession polecenia cmdlet . Na przykład następujące polecenie tworzy serwery PSSessions na komputerach Server01 i Server02, a następnie zapisuje pliki PSSessions w zmiennej $s .

$s = New-PSSession -ComputerName Server01, Server02

Jak uruchamiać polecenia w programie PSSession

Za pomocą programu PSSession można uruchomić serię poleceń zdalnych, które udostępniają dane, takie jak funkcje, aliasy i wartości zmiennych. Aby uruchomić polecenia w programie PSSession, użyj parametru Invoke-CommandSesja polecenia cmdlet.

Na przykład następujące polecenie używa Invoke-Command polecenia cmdlet do uruchomienia Get-Process polecenia w serwerach PSSessions na komputerach Server01 i Server02. Polecenie zapisuje procesy w zmiennej $p w każdej konsoli PSSession.

Invoke-Command -Session $s -ScriptBlock {$p = Get-Process}

Ponieważ program PSSession używa połączenia trwałego, można uruchomić inne polecenie w tej samej usłudze PSSession, która używa zmiennej $p . Następujące polecenie zlicza liczbę procesów zapisanych w $ppliku .

Invoke-Command -Session $s -ScriptBlock {$p.count}

Jak uruchomić zdalne polecenie na wielu komputerach

Aby uruchomić zdalne polecenie na wielu komputerach, wpisz wszystkie nazwy komputerów w wartości parametru ComputerName .Invoke-Command Rozdziel nazwy przecinkami.

Na przykład następujące polecenie uruchamia Get-Culture polecenie na trzech komputerach:

Invoke-Command -ComputerName S1, S2, S3 -ScriptBlock {Get-Culture}

Można również uruchomić polecenie w wielu systemach PSSessions. Następujące polecenia tworzą polecenia PSSessions na komputerach Server01, Server02 i Server03, a następnie uruchom Get-Culture polecenie w każdym z serwerów PSSessions.

$s = New-PSSession -ComputerName S1, S2, S3
Invoke-Command -Session $s -ScriptBlock {Get-Culture}

Aby dołączyć listę komputerów lokalnych, wpisz nazwę komputera lokalnego, wpisz kropkę (.) lub wpisz localhost.

Invoke-Command -ComputerName S1, S2, S3, localhost -ScriptBlock {Get-Culture}

Jak uruchomić skrypt na komputerach zdalnych

Aby uruchomić skrypt lokalny na komputerach zdalnych, użyj parametru FilePath .Invoke-Command Nie musisz kopiować żadnych plików. Na przykład następujące polecenie uruchamia Sample.ps1 skrypt na komputerach S1 i S2:

Invoke-Command -ComputerName S1, S2 -FilePath C:\Test\Sample.ps1

Program PowerShell zwraca wyniki skryptu na komputerze lokalnym.

Jak zatrzymać polecenie zdalne

Aby przerwać polecenie, naciśnij klawisze Ctrl+c. Program PowerShell przekazuje żądanie przerwania do komputera zdalnego, na którym kończy polecenie zdalne.

Więcej informacji

Zobacz też