about_Remote

Krótki opis

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

Długi opis

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

Ten temat zawiera serię przykładów pokazujących, jak uruchamiać różne typy poleceń zdalnych. Po wypróbowaniu tych podstawowych poleceń przeczytaj tematy Pomocy opisujące każde polecenie cmdlet używane w tych poleceniach. Tematy zawierają szczegółowe informacje i wyjaśniają, jak można modyfikować polecenia zgodnie z potrzebami.

Uwaga: aby można było korzystać z komunikacji zdalnej programu PowerShell, należy skonfigurować komputery lokalne i zdalne do komunikacji zdalnej. Aby uzyskać więcej informacji, zobacz about_Remote_Requirements.

JAK ROZPOCZĄĆ SESJĘ INTERAKTYWNĄ (ENTER-PSSESSION)

Najprostszym sposobem uruchamiania poleceń zdalnych jest uruchomienie sesji interakcyjnej z komputerem zdalnym.

Po rozpoczęciu sesji wpisywane polecenia są uruchamiane na komputerze zdalnym, tak jakby wpisywane 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 polecenia cmdlet Enter-PSSession. Następujące polecenie uruchamia interaktywną sesję z komputerem Server01:

Enter-PSSession Server01

Wiersz polecenia zmieni się, aby wskazać, że masz połączenie z komputerem Server01.

Server01\PS>

Teraz można wpisać polecenia na komputerze Server01.

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

Exit-PSSession

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

JAK UŻYWAĆ POLECEŃ CMDLET Z PARAMETREM COMPUTERNAME W CELU POBRANIA DANYCH ZDALNYCH

Kilka poleceń cmdlet ma parametr ComputerName, który umożliwia pobieranie obiektów z komputerów zdalnych.

Ponieważ te polecenia cmdlet nie używają komunikacji zdalnej programu PowerShell opartej na usłudze WS, można użyć parametru ComputerName tych poleceń cmdlet na dowolnym komputerze z uruchomionym programem PowerShell. Komputery nie muszą być skonfigurowane do komunikacji zdalnej programu PowerShell, a komputery nie muszą spełniać wymagań systemowych dotyczących komunikacji zdalnej.

Następujące polecenia cmdlet mają parametr ComputerName:

Clear-EventLog    Limit-EventLog
Get-Counter       New-EventLog
Get-EventLog      Remove-EventLog
Get-HotFix        Restart-Computer
Get-Process       Show-EventLog
Get-Service       Stop-Computer
Get-WinEvent      Test-Connection
Get-WmiObject     Write-EventLog

Na przykład następujące polecenie pobiera usługi na komputerze zdalnym Server01:

Get-Service -ComputerName Server01

Zazwyczaj polecenia cmdlet obsługujące zdalną bez specjalnej konfiguracji mają parametr ComputerName i nie mają parametru Sesja . Aby znaleźć te polecenia cmdlet w sesji, wpisz:

Get-Command | Where-Object {
  $_.Parameters.Keys -contains 'ComputerName' -and
  $_.Parameters.Keys -notcontains 'Session'
}

JAK URUCHOMIĆ POLECENIE ZDALNE

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

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 polecenie Get-Culture na komputerze Server01.

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

Parametr ComputerName jest przeznaczony do sytuacji, w której uruchamiasz jedno polecenie lub kilka niepowiązanych poleceń na jednym lub wielu komputerach. Aby ustanowić trwałe połączenie z komputerem zdalnym, użyj parametru Sesja.

JAK UTWORZYĆ TRWAŁE POŁĄCZENIE (PSSESSION)

Jeśli używasz parametru ComputerName polecenia cmdlet Invoke-Command, Windows PowerShell ustanawia połączenie tylko dla polecenia . Następnie zamyka połączenie po zakończeniu wykonywania polecenia. Wszystkie zmienne lub funkcje zdefiniowane w poleceniu zostaną utracone.

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

$s = New-PSSession -ComputerName Server01, Server02

JAK URUCHAMIAĆ POLECENIA W PROGRAMIE PSSESSION

Za pomocą sesji PSSession można uruchomić serię poleceń zdalnych, które współużytkujące dane, takie jak funkcje, aliasy i wartości zmiennych. Aby uruchomić polecenia w sesji PSSession, użyj parametru sesji polecenia cmdlet Invoke-Command.

Na przykład następujące polecenie używa polecenia cmdlet Invoke-Command do uruchomienia polecenia Get-Process w programie PSSessions na komputerach Server01 i Server02. Polecenie zapisuje procesy w zmiennej $p w każdej 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 zmiennej PSSession, która używa zmiennej $p. Następujące polecenie zlicza liczbę procesów zapisanych w $p.

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

JAK URUCHOMIĆ POLECENIE ZDALNE NA WIELU KOMPUTERACH

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

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

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

Można również uruchomić polecenie w wielu psSessions. Następujące polecenia tworzą pssessions na komputerach Server01, Server02 i Server03, a następnie uruchom Get-Culture polecenia w każdym z 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.

Na przykład następujące polecenie uruchamia skrypt Sample.ps1 na komputerach S1 i S2:

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

Wyniki skryptu są zwracane na komputer lokalny. Nie trzeba kopiować żadnych plików.

JAK ZATRZYMAĆ POLECENIE ZDALNE

Aby przerwać polecenie, naciśnij klawisze CTRL+C. Żądanie przerwania jest przekazywane do komputera zdalnego, na którym kończy polecenie zdalne.

ABY UZYSKAĆ WIĘCEJ INFORMACJI

SŁOWA KLUCZOWE

about_Remoting

Zobacz też