Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz 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.
Uwaga
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 uruchamiane na komputerze zdalnym, tak jakby były 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 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ć zdalne polecenie
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 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 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 programie PSSession, użyj parametru polecenia cmdlet.
Na przykład następujące polecenie używa Invoke-Command polecenia cmdlet do uruchomienia Get-Process polecenia w 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 trwałego połączenia, można uruchomić inne polecenie w tym samym programie PSSession, które używa zmiennej $p . Następujące polecenie zlicza liczbę procesów zapisanych w pliku $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 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 psSessions. Następujące polecenia umożliwiają utworzenie serwerów PSSessions na komputerach Server01, Server02 i Server03, a następnie uruchomienie Get-Culture polecenia 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 polecenia 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ć 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 komunikacji wirtualnej, zobacz about_Remote_Requirements.
Aby uzyskać pomoc dotyczącą formatowania zdalnych danych wyjściowych, zobacz about_Remote_Output.
Aby uzyskać informacje o sposobie działania komunikacji zdalnej, sposobie 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 połączeniach PSSessions i trwałych, zobacz about_PSSessions.
Aby uzyskać informacje o zadaniach w tle programu PowerShell, zobacz about_Jobs.