Udostępnij przez


Enable-PSRemoting

Konfiguruje komputer do odbierania poleceń zdalnych.

Składnia

Default (domyślnie)

Enable-PSRemoting
    [-Force]
    [-SkipNetworkProfileCheck]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Opis

Polecenie cmdlet Enable-PSRemoting konfiguruje komputer do odbierania poleceń zdalnych programu PowerShell wysyłanych przy użyciu technologii WS-Management.

Komunikacja zdalna programu PowerShell jest domyślnie włączona w systemie Windows Server 2012 lub nowszym. Możesz użyć Enable-PSRemoting, aby włączyć zdalny dostęp programu PowerShell w innych obsługiwanych wersjach systemu Windows i ponownie go włączyć, jeśli zostanie wyłączony.

To polecenie należy uruchomić tylko raz na każdym komputerze, który odbiera polecenia. Nie musisz uruchamiać go na komputerach, które wysyłają tylko polecenia. Ponieważ konfiguracja uruchamia odbiorniki, rozsądne jest uruchomienie go tylko tam, gdzie jest to konieczne.

Począwszy od programu PowerShell 3.0, polecenie cmdlet Enable-PSRemoting może włączyć komunikacji zdalnej programu PowerShell w wersjach klienckich systemu Windows, gdy komputer znajduje się w sieci publicznej. Aby uzyskać więcej informacji, zobacz opis parametru SkipNetworkProfileCheck.

Polecenie cmdlet Enable-PSRemoting wykonuje następujące operacje:

  • Uruchamia polecenie cmdlet Set-WSManQuickConfig, które wykonuje następujące zadania:
    • Uruchamia usługę WinRM.
    • Ustawia typ uruchamiania w usłudze WinRM na Wartość Automatyczna.
    • Tworzy odbiornik do akceptowania żądań na dowolnym adresie IP.
    • Włącza wyjątek zapory dla komunikacji WS-Management.
    • Rejestruje konfiguracje sesji Microsoft.PowerShell i Microsoft.PowerShell.Workflow, jeśli nie zostały jeszcze zarejestrowane.
    • Rejestruje konfigurację sesji Microsoft.PowerShell32 na komputerach 64-bitowych, jeśli nie została jeszcze zarejestrowana.
    • Włącza wszystkie konfiguracje sesji.
    • Zmienia deskryptor zabezpieczeń wszystkich konfiguracji sesji, aby zezwolić na dostęp zdalny.
  • Uruchamia ponownie usługę WinRM, aby wprowadzić poprzednie zmiany w życie.

Aby uruchomić to polecenie cmdlet na platformie Windows, uruchom program PowerShell przy użyciu opcji Uruchom jako administrator.

Aby uzyskać więcej informacji na temat korzystania ze zdalnego zarządzania w PowerShell, zobacz następujące artykuły:

Przykłady

Przykład 1. Konfigurowanie komputera do odbierania poleceń zdalnych

To polecenie konfiguruje komputer do odbierania poleceń zdalnych.

Enable-PSRemoting

Przykład 2. Konfigurowanie komputera do odbierania poleceń zdalnych bez monitu o potwierdzenie

To polecenie konfiguruje komputer do odbierania poleceń zdalnych. Parametr Force tłumi monity użytkownika.

Enable-PSRemoting -Force

Przykład 3. Zezwalanie na dostęp zdalny na klientach

W tym przykładzie pokazano, jak zezwolić na dostęp zdalny z sieci publicznych w wersjach klienckich systemu operacyjnego Windows. Nazwa reguły zapory może być inna dla różnych wersji systemu Windows. Użyj 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.

Get-NetFirewallRule -Name 'WINRM*' | Select-Object -Property Name
Name
----
WINRM-HTTP-In-TCP-NoScope
WINRM-HTTP-In-TCP
WINRM-HTTP-Compat-In-TCP-NoScope
WINRM-HTTP-Compat-In-TCP
Enable-PSRemoting -SkipNetworkProfileCheck -Force
Set-NetFirewallRule -Name 'WINRM-HTTP-In-TCP' -RemoteAddress Any

Domyślnie Enable-PSRemoting tworzy reguły sieciowe zezwalające na dostęp zdalny z sieci prywatnych i domenowych. Polecenie używa parametru SkipNetworkProfileCheck, aby zezwolić na dostęp zdalny z sieci publicznych w tej samej podsieci lokalnej. Polecenie określa parametr Force w celu ominięcia komunikatów potwierdzenia.

Parametr SkipNetworkProfileCheck nie ma wpływu na wersje serwera systemu operacyjnego Windows, które domyślnie zezwalają na dostęp zdalny z sieci publicznych w tej samej podsieci lokalnej.

Polecenie cmdlet Set-NetFirewallRule w module NetSecurity dodaje regułę zapory, która umożliwia zdalny dostęp z sieci publicznych z dowolnej lokalizacji zdalnej. Obejmuje to lokalizacje w różnych podsieciach.

Uwaga / Notatka

Nazwa reguły zapory może być różna w zależności od wersji systemu Windows. Użyj polecenia cmdlet Get-NetFirewallRule, aby wyświetlić listę nazw reguł w systemie.

Parametry

-Confirm

Prosi o potwierdzenie przed uruchomieniem cmdletu.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:por

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Force

Wymusza uruchomienie polecenia bez monitowania o potwierdzenie użytkownika.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-SkipNetworkProfileCheck

Wskazuje, że to polecenie cmdlet umożliwia komunikację zdalną na klienckich wersjach systemu operacyjnego Windows, gdy komputer znajduje się w sieci publicznej. Ten parametr umożliwia regułę zapory dla sieci publicznych, która zezwala na dostęp zdalny tylko z komputerów w tej samej podsieci lokalnej.

Ten parametr nie ma wpływu na wersje serwera systemu operacyjnego Windows, które domyślnie mają regułę zapory podsieci lokalnej dla sieci publicznych. Jeśli reguła zapory podsieci lokalnej jest wyłączona w wersji serwera, Enable-PSRemoting ją ponownie włącza, niezależnie od wartości tego parametru.

Aby usunąć ograniczenie podsieci lokalnej i włączyć dostęp zdalny ze wszystkich lokalizacji w sieciach publicznych, użyj polecenia cmdlet Set-NetFirewallRule w module NetSecurity.

Ten parametr został wprowadzony w programie PowerShell 3.0.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-WhatIf

Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Cmdlet nie został uruchomiony.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:Wi

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Dane wejściowe

None

Nie można przekazywać obiektów do tego cmdletu.

Dane wyjściowe

String

To polecenie cmdlet zwraca ciągi, które opisują jego wyniki.

Uwagi

Począwszy od programu PowerShell 3.0, Enable-PSRemoting włącza wszystkie konfiguracje sesji, ustawiając wartość właściwości Włączone wszystkich konfiguracji sesji na $true.

  • W wersjach serwera systemu operacyjnego Windows Enable-PSRemoting tworzy reguły zapory dla sieci prywatnych i domen, które zezwalają na dostęp zdalny, i tworzy regułę zapory dla sieci publicznych, która zezwala na dostęp zdalny tylko z komputerów w tej samej podsieci lokalnej.

  • W wersjach klienckich systemu operacyjnego Windows Enable-PSRemoting w programie PowerShell 3.0 tworzy reguły zapory dla sieci prywatnych i domen, które zezwalają na nieograniczony dostęp zdalny. Aby utworzyć regułę zapory dla sieci publicznych, które zezwalają na dostęp zdalny z tej samej podsieci lokalnej, użyj parametru SkipNetworkProfileCheck.

  • W wersji klienta lub serwera systemu operacyjnego Windows, aby utworzyć regułę zapory dla sieci publicznych, która usuwa ograniczenie podsieci lokalnej i zezwala na dostęp zdalny, użyj polecenia cmdlet Set-NetFirewallRule w module NetSecurity, aby uruchomić następujące polecenie: Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

Enable-PSRemoting włącza wszystkie konfiguracje sesji poprzez ustawienie wartości właściwości Włączone dla wszystkich konfiguracji sesji na $true.

Enable-PSRemoting usuwa ustawienia Deny_All i Network_Deny_All. Zapewnia to zdalny dostęp do konfiguracji sesji, które zostały zarezerwowane do użytku lokalnego.