Informacje o zdalnym
KRÓTKI OPIS
Opisuje sposób uruchamiania poleceń zdalnych w Windows 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ż rozpocząć sesję interaktywną z jednym komputerem zdalnym.
Ten temat zawiera szereg przykładów pokazujących, jak uruchamiać różne typy poleceń zdalnych. Po wypróbowaniu tych podstawowych poleceń zapoznaj się z tematami Pomocy, które opisują każde polecenie cmdlet używane w tych poleceniach. Tematy zawierają szczegółowe informacje i wyjaśniają sposób modyfikowania poleceń w celu spełnienia Twoich potrzeb.
Uwaga: aby używać komunikacji zdalnej Windows 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Ą (ENTER-PSSESSION)
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 jak w przypadku wpisywania ich 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 zmienia się, aby wskazać, że masz połączenie z komputerem Server01.
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 UŻYWAĆ POLECEŃ CMDLET, KTÓRE MAJĄ PARAMETR 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 korzystają z komunikacji wirtualnej opartej Windows PowerShell na usłudze WS-Management, można użyć parametru ComputerName tych poleceń cmdlet na dowolnym komputerze z systemem Windows PowerShell. Komputery nie muszą być skonfigurowane na potrzeby komunikacji wirtualnej Windows PowerShell, a komputery nie muszą spełniać wymagań systemowych dotyczących komunikacji zdalnie.
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 komunikacja 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 nawiązać trwałe połączenie z komputerem zdalnym, użyj parametru Sesja.
JAK UTWORZYĆ TRWAŁE POŁĄCZENIE (PSSESSION)
Gdy używasz parametru ComputerName polecenia cmdlet Invoke-Command, Windows PowerShell ustanawia połączenie tylko dla polecenia . Następnie zamyka połączenie po zakończeniu 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 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 sesji polecenia cmdlet Invoke-Command.
Na przykład następujące polecenie używa polecenia cmdlet Invoke-Command, aby uruchomić polecenie Get-Process w usługach 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 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 polecenia 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 systemach PSSessions. Następujące polecenia tworzą polecenia PSSessions na komputerach Server01, Server02 i Server03, a następnie uruchom polecenie Get-Culture 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.
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
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 na temat sposobu działania komunikacji zdalnej, zarządzania danymi zdalnymi, specjalnymi konfiguracjami, problemami z zabezpieczeniami i innymi często zadawanymi pytaniami, zobacz about_Remote_FAQ.
Aby uzyskać pomoc dotyczącą rozwiązywania błędów komunikacji zdalnie, zobacz about_Remote_Troubleshooting.
Aby uzyskać informacje o programach PSSessions i połączeniach trwałych, zobacz about_PSSessions.
Aby uzyskać informacje o zadaniach w tle Windows PowerShell, zobacz about_Jobs.
SŁOWA KLUCZOWE
about_Remoting