Udostępnij za pośrednictwem


about_Remote_Requirements

Krótki opis

Opisuje wymagania systemowe i wymagania konfiguracyjne dotyczące uruchamiania poleceń zdalnych w programie PowerShell.

Długi opis

W tym temacie opisano wymagania systemowe, wymagania użytkownika i wymagania dotyczące zasobów dotyczące nawiązywania połączeń zdalnych i uruchamiania poleceń zdalnych w programie PowerShell. Zawiera również instrukcje dotyczące konfigurowania operacji zdalnych.

Uwaga

Niektóre polecenia cmdlet pobierają obiekty z komputerów zdalnych połączenia RPC lub sesje WMI dla połączeń zdalnych. Nie korzystają z infrastruktury komunikacji zdalnej programu PowerShell. Wymagania w tym dokumencie nie mają zastosowania do tych poleceń cmdlet.

Aby znaleźć polecenia cmdlet z parametrem ComputerName , ale nie używają komunikacji zdalnej programu PowerShell, przeczytaj opis parametru ComputerName poleceń cmdlet.

Wymagania systemowe

W systemie Windows komunikacja zdalna programu PowerShell korzysta z funkcji Zdalne zarządzanie systemem Windows (WinRM), która jest dostarczana przez Windows Management Framework (WMF). Aby uruchomić sesje zdalne w programie PowerShell, komputery lokalne i zdalne muszą mieć następujące elementy:

  • Windows PowerShell w wersji 3.0 lub nowszej
  • Microsoft .NET Framework 4 lub nowszy
  • Zdalne zarządzanie systemem Windows w wersji 3.0 lub nowszej

Aby uruchomić sesje zdalne na Windows PowerShell 2.0, komputery lokalne i zdalne muszą mieć następujące elementy:

  • Windows PowerShell w wersji 2.0 lub nowszej
  • Microsoft .NET Framework 2.0 lub nowszy
  • Zdalne zarządzanie systemem Windows 2.0

Aby być w pełni obsługiwanym, należy użyć programu WMF 5.1. Aby uzyskać więcej informacji o obsłudze platformy WMF, zobacz Windows Management Framework (WMF).

Sesję zdalną można utworzyć między komputerem z systemem Windows PowerShell 2.0 i jedną z nowszą wersją programu PowerShell. Jednak funkcje uruchamiane tylko w nowych wersjach programu PowerShell, takich jak możliwość rozłączenia i ponownego nawiązywania połączenia z sesjami, są dostępne tylko wtedy, gdy oba komputery działają Windows PowerShell 3.0 i nowszych.

Aby znaleźć numer wersji zainstalowanej wersji programu PowerShell, użyj zmiennej automatycznej $PSVersionTable .

Program PowerShell 7 lub nowszy obsługuje również zdalną obsługę komunikacji zdalnej programu PowerShell za pośrednictwem protokołu SSH. Komunikacja zdalna programu PowerShell za pośrednictwem protokołu SSH umożliwia nawiązanie połączenia z dowolnym hostem systemu Windows, macOS lub Linux z uruchomionym protokołem SSH. Aby uzyskać więcej informacji, zobacz Komunikacja zdalna programu PowerShell za pośrednictwem protokołu SSH.

Uprawnienia użytkowników

Aby tworzyć sesje zdalne i uruchamiać polecenia zdalne, domyślnie bieżący użytkownik musi być członkiem grupy Administratorzy na komputerze zdalnym lub podać poświadczenia administratora. W przeciwnym razie polecenie zakończy się niepowodzeniem.

Uprawnienia wymagane do tworzenia sesji i uruchamiania poleceń na komputerze zdalnym są ustanawiane przez konfigurację sesji. Konfiguracja sesji definiuje opcje konfiguracji punktu końcowego połączenia na komputerze zdalnym. W szczególności deskryptor zabezpieczeń w konfiguracji sesji określa, kto ma dostęp do konfiguracji sesji i kto może używać go do nawiązywania połączenia.

Deskryptory zabezpieczeń w domyślnych konfiguracjach sesji Microsoft.PowerShell i Microsoft.PowerShell32 zezwalają tylko na dostęp do członków grupy Administratorzy .

Członkowie grupy Administratorzy na komputerze mogą określić, kto ma uprawnienia do zdalnego łączenia się z komputerem, zmieniając deskryptory zabezpieczeń w domyślnych konfiguracjach sesji lub tworząc nowe konfiguracje sesji z różnymi deskryptorami zabezpieczeń. Użytkownicy mogą używać parametru ConfigurationName poleceń cmdlet do nawiązywania *-PSSession połączenia z różnymi punktami końcowymi.

Aby uzyskać więcej informacji na temat konfiguracji sesji, zobacz Informacje o konfiguracjach sesji.

Lokalizacje sieciowe systemu Windows

Począwszy od wersji Windows PowerShell 3.0, Enable-PSRemoting polecenie cmdlet może włączyć zdalną obsługę zdalną w wersjach klienta i serwera systemu Windows.

W wersjach serwera systemu Windows z sieciami Enable-PSRemoting prywatnymi i domenowymi polecenie cmdlet tworzy reguły zapory, które zezwalają na nieograniczony dostęp zdalny. Tworzy również regułę zapory dla sieci publicznych, która zezwala na dostęp zdalny tylko z komputerów w tej samej podsieci lokalnej. Ta reguła zapory podsieci lokalnej jest domyślnie włączona w wersjach serwera systemu Windows w sieciach publicznych, ale Enable-PSRemoting ponownie tworzy regułę w przypadku zmiany lub usunięcia.

W wersjach klienckich systemu Windows z sieciami prywatnymi i domenowymi tworzy reguły zapory, Enable-PSRemoting które zezwalają na nieograniczony dostęp zdalny.

Aby włączyć komunikacja zdalną w wersjach klienta systemu Windows z sieciami publicznymi, użyj parametru Enable-PSRemotingSkipNetworkProfileCheck polecenia cmdlet. Ta opcja tworzy regułę zapory, która zezwala na dostęp zdalny tylko z komputerów w tej samej podsieci lokalnej.

Aby usunąć ograniczenie podsieci lokalnej w sieciach publicznych i zezwolić na dostęp zdalny ze wszystkich lokalizacji w wersjach klienta i serwera systemu Windows, użyj Set-NetFirewallRule polecenia cmdlet w module NetSecurity . Uruchom następujące polecenie:

Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

Uwaga

Nazwa reguły zapory może być inna dla różnych wersji systemu Windows. Użyj polecenia Get-NetFirewallRule , aby wyświetlić listę reguł. Przed włączeniem reguły zapory wyświetl ustawienia zabezpieczeń w regule, aby sprawdzić, czy konfiguracja jest odpowiednia dla danego środowiska.

W Windows PowerShell 2.0 w wersjach serwera systemu Windows tworzy reguły zapory, Enable-PSRemoting które zezwalają na dostęp zdalny we wszystkich sieciach.

W Windows PowerShell 2.0 w wersjach klienckich systemu Windows Enable-PSRemoting reguły zapory są tworzone tylko w sieciach prywatnych i domenowych. Jeśli lokalizacja sieciowa jest publiczna, Enable-PSRemoting nie powiedzie się.

Uruchom jako administrator

Uprawnienia administratora są wymagane w przypadku następujących operacji komunikacji zdalniej:

  • Nawiązywanie połączenia zdalnego z komputerem lokalnym. Jest to często nazywane scenariuszem "sprzężenia zwrotnego".
  • Zarządzanie konfiguracjami sesji na komputerze lokalnym.
  • Wyświetlanie i zmienianie ustawień WS-Management na komputerze lokalnym. Są to ustawienia w węźle LocalHost dysku WSMAN: .

Program PowerShell należy uruchomić z opcją Uruchom jako administrator , nawet jeśli jesteś członkiem grupy Administratorzy na komputerze lokalnym.

Po uruchomieniu Windows PowerShell z innego programu, takiego jak cmd.exe, użyj opcji Uruchom jako administrator, aby uruchomić program.

Jak skonfigurować komputer do komunikacji zdalnej

Komputery z dowolną obsługiwaną wersją systemu Windows mogą nawiązywać połączenia zdalne i uruchamiać polecenia zdalne w programie PowerShell bez żadnej konfiguracji. Jednak aby odbierać połączenia zdalne, należy włączyć komunikacji zdalnej programu PowerShell na komputerze.

Windows Server 2012 i nowsze wersje systemu Windows Server są domyślnie włączone na potrzeby komunikacji zdalnej programu PowerShell. Jeśli ustawienia zostaną zmienione, możesz przywrócić ustawienia domyślne, uruchamiając Enable-PSRemoting polecenie cmdlet .

Domyślnie funkcje komunikacji zdalnej programu PowerShell są obsługiwane przez usługę WinRM, która jest implementacją przez firmę Microsoft protokołu Web Services for Management (WS-Management). Po włączeniu komunikacji zdalnej programu PowerShell należy zmienić domyślną konfigurację WS-Management i dodać konfigurację systemu, która umożliwia użytkownikom łączenie się z usługą WS-Management.

Aby skonfigurować program PowerShell do odbierania poleceń zdalnych:

  1. Uruchom program PowerShell z opcją Uruchom jako administrator .
  2. W wierszu polecenia wpisz polecenie: Enable-PSRemoting

Aby sprawdzić, czy komunikacja zdalna jest poprawnie skonfigurowana, uruchom polecenie testowe, takie jak następujące polecenie, które tworzy sesję zdalną na komputerze lokalnym.

New-PSSession

Jeśli komunikacja zdalna jest skonfigurowana poprawnie, polecenie tworzy sesję na komputerze lokalnym i zwraca obiekt reprezentujący sesję.

Id Name        ComputerName    State    ConfigurationName
-- ----        ------------    -----    -----
1  Session1    localhost       Opened   Microsoft.PowerShell

Jeśli polecenie zakończy się niepowodzeniem, zobacz about_Remote_Troubleshooting.

Omówienie zasad

Podczas pracy zdalnej należy użyć dwóch wystąpień programu PowerShell: jednego na komputerze lokalnym i jednego na komputerze zdalnym. W związku z tym na pracę mają wpływ zasady systemu Windows i programu PowerShell zarówno na komputerach lokalnych, jak i zdalnych.

Przed nawiązaniem połączenia i nawiązaniem połączenia obowiązują zasady na komputerze lokalnym. W przypadku korzystania z połączenia zasady na komputerze zdalnym obowiązują.

Zobacz też