Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
Notatka
Aby używać 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 uruchomienie sesji interaktywnej z komputerem zdalnym.
Po rozpoczęciu sesji polecenia, które wpisujesz, są uruchamiane na komputerze zdalnym, tak jakbyś wpisywał je bezpośrednio na tym komputerze. 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
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ć zdalne polecenie
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 ComputerNameInvoke-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}
Jak utworzyć trwałe połączenie
W przypadku używania parametru ComputerName polecenia cmdlet Invoke-Command 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 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ą 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 sesji PSSession, użyj parametru sesji polecenia cmdlet Invoke-Command.
Na przykład następujące polecenie używa programu cmdlet Invoke-Command, aby uruchomić polecenie Get-Process w sesjach PS na komputerach Server01 i Server02.
Polecenie zapisuje procesy w zmiennej $p w każdym programie PSSession.
Invoke-Command -Session $s -ScriptBlock {$p = Get-Process}
Ponieważ sesja PSSession używa trwałego połączenia, można uruchomić inne polecenie w tej samej sesji PSSession, które używa zmiennej $p. Następujące polecenie zlicza liczbę procesów zapisanych w $p.
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 ComputerName parametru Invoke-Command. Rozdziel 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 umożliwiają utworzenie serwerów PSSessions na komputerach Server01, Server02 i Server03, a następnie uruchomienie polecenia Get-Culture 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 FilePathInvoke-Command. Nie musisz kopiować żadnych plików. 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
Program PowerShell zwraca wyniki skryptu na komputerze lokalnym.
Jak zatrzymać zdalne polecenie
Aby przerwać polecenie, naciśnij Ctrl+c. Program PowerShell przekazuje żądanie przerwania do komputera zdalnego, na którym kończy zdalne polecenie.
Więcej informacji
Aby uzyskać informacje o wymaganiach systemowych dotyczących zdalnego dostępu, zobacz about_Remote_Requirements.
Aby uzyskać pomoc dotyczącą formatowania zdalnych danych wyjściowych, zobacz about_Remote_Output.
Aby uzyskać informacje na temat sposobu działania komunikacji zdalnej, zarządzania danymi zdalnymi, specjalnymi konfiguracjami, problemami z zabezpieczeniami i innymi często zadawanymi pytaniami, zobacz Często zadawane pytania dotyczące komunikacji zdalnej programu PowerShell.
Aby uzyskać pomoc dotyczącą rozwiązywania błędów komunikacji zdalnie, zobacz about_Remote_Troubleshooting.
Aby uzyskać informacje o sesjach PSSessions i trwałych połączeniach, zobacz about_PSSessions.
Aby uzyskać informacje o zadaniach w tle programu PowerShell, zobacz about_Jobs.