Sdílet prostřednictvím


Disable-PSRemoting

Zabrání koncovým bodům PowerShellu přijímat vzdálená připojení.

Syntax

Default (Výchozí)

Disable-PSRemoting
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Rutina Disable-PSRemoting blokuje vzdálený přístup ke všem konfiguracím koncových bodů relace Prostředí Windows PowerShell v místním počítači. To zahrnuje všechny koncové body vytvořené PowerShellem 6 nebo novějším.

Pokud chcete znovu povolit vzdálený přístup ke všem konfiguracím relací, použijte rutinu Enable-PSRemoting. To zahrnuje všechny koncové body vytvořené PowerShellem 6 nebo novějším. Pokud chcete povolit vzdálený přístup k vybraným konfiguracím relací, použijte parametr AccessMode rutiny Set-PSSessionConfiguration. K povolení a zakázání konfigurací relací pro všechny uživatele můžete použít také rutiny Enable-PSSessionConfiguration a Disable-PSSessionConfiguration. Další informace o konfiguracích relací naleznete v části about_Session_Configurations.

Poznámka:

I po spuštění Disable-PSRemoting můžete na místním počítači vytvořit připojení zpětné smyčky. Připojení zpětné smyčky je vzdálená relace PowerShellu, která pochází a připojuje se ke stejnému místnímu počítači. Vzdálené relace z externích zdrojů zůstanou blokované. Pro připojení zpětné smyčky musíte použít implicitní přihlašovací údaje podél EnableNetworkAccess parametru. Další informace o připojení zpětné smyčky naleznete v tématu New-PSSession.

Pokud chcete tuto rutinu spustit, spusťte Windows PowerShell s možností Spustit jako správce.

Příklady

Příklad 1: Zabránění vzdálenému přístupu ke všem konfiguracím relací

Tento příklad brání vzdálenému přístupu ke všem konfiguracím koncových bodů relace PowerShellu v počítači.

Disable-PSRemoting
WARNING: Disabling the session configurations does not undo all the changes made by the Enable-PSRemoting
 or Enable-PSSessionConfiguration cmdlet. You might have to manually undo the changes by following these
 steps:
    1. Stop and disable the WinRM service.
    2. Delete the listener that accepts requests on any IP address.
    3. Disable the firewall exceptions for WS-Management communications.
    4. Restore the value of the LocalAccountTokenFilterPolicy to 0, which restricts remote access to
       members of the Administrators group on the computer.

Příklad 2: Zabránění vzdálenému přístupu ke všem konfiguracím relace bez výzvy k potvrzení

Tento příklad zabraňuje vzdálenému přístupu ke všem konfiguracím koncových bodů relace PowerShellu v počítači bez výzvy.

Disable-PSRemoting -Force
WARNING: Disabling the session configurations does not undo all the changes made by the Enable-PSRemoting
 or Enable-PSSessionConfiguration cmdlet. You might have to manually undo the changes by following these
 steps:
    1. Stop and disable the WinRM service.
    2. Delete the listener that accepts requests on any IP address.
    3. Disable the firewall exceptions for WS-Management communications.
    4. Restore the value of the LocalAccountTokenFilterPolicy to 0, which restricts remote access to
       members of the Administrators group on the computer.

Příklad 3: Účinky spuštění této rutiny

Tento příklad ukazuje účinek použití Disable-PSRemoting rutiny. Pokud chcete spustit tuto posloupnost příkazů, spusťte PowerShell s možností Spustit jako správce.

Po zakázání konfigurací relací se rutina New-PSSession pokusí vytvořit vzdálenou relaci k místnímu počítači (označuje se také jako zpětné smyčky). Vzhledem k tomu, že je na místním počítači zakázaný vzdálený přístup, příkaz selže.

Disable-PSRemoting -Force
New-PSSession -ComputerName localhost
WARNING: Disabling the session configurations does not undo all the changes made by the Enable-PSRemoting
 or Enable-PSSessionConfiguration cmdlet. You might have to manually undo the changes by following these steps:
    1. Stop and disable the WinRM service.
    2. Delete the listener that accepts requests on any IP address.
    3. Disable the firewall exceptions for WS-Management communications.
    4. Restore the value of the LocalAccountTokenFilterPolicy to 0, which restricts remote access to
       members of the Administrators group on the computer.

New-PSSession : [localhost] Connecting to remote server localhost failed with the following error
 message : Access is denied. For more information, see the about_Remote_Troubleshooting Help topic.
At line:1 char:1
+ New-PSSession -ComputerName localhost -ConfigurationName PowerShell.6
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : OpenError: (System.Management.A\u2026tion.RemoteRunspace:RemoteRunspace)
 [New-PSSession], PSRemotingTransportException
+ FullyQualifiedErrorId : AccessDenied,PSSessionOpenFailed

Příklad 4: Účinky spuštění této rutiny a Enable-PSRemoting

Tento příklad ukazuje vliv na konfigurace relací pomocí Disable-PSRemoting a rutin Enable-PSRemoting.

Disable-PSRemoting slouží k zakázání vzdáleného přístupu ke všem konfiguracím koncových bodů relace PowerShellu. Parametr Force potlačí všechny výzvy uživatele. Rutiny Get-PSSessionConfiguration a Format-Table zobrazují konfigurace relací v počítači.

Výstup ukazuje, že všichni vzdálení uživatelé s tokenem sítě mají odepřený přístup ke konfiguracím koncových bodů. Skupina Administrators v místním počítači má povolený přístup ke konfiguracím koncových bodů, pokud se připojují místně (označuje se také jako zpětné smyčky) a používají implicitní přihlašovací údaje.

Disable-PSRemoting -Force
Get-PSSessionConfiguration | Format-Table -Property Name, Permission -AutoSize

Enable-PSRemoting -Force
Get-PSSessionConfiguration | Format-Table -Property Name, Permission -AutoSize
Name                          Permission
----                          ----------
microsoft.powershell          NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell.workflow NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell32        NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.ServerManager       NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
WithProfile                   NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed

Name                          Permission
----                          ----------
microsoft.powershell          BUILTIN\Administrators AccessAllowed
microsoft.powershell.workflow BUILTIN\Administrators AccessAllowed
microsoft.powershell32        BUILTIN\Administrators AccessAllowed
microsoft.ServerManager       BUILTIN\Administrators AccessAllowed
WithProfile                   BUILTIN\Administrators AccessAllowed

Rutina Enable-PSRemoting znovu umožňuje vzdálený přístup ke všem konfiguracím koncových bodů relace PowerShellu v počítači. Parametr Force potlačí všechny výzvy uživatele a restartuje službu WinRM bez výzvy. Nový výstup ukazuje, že AccessDenied popisovače zabezpečení byly odebrány ze všech konfigurací relací.

Příklad 5: Připojení zpětné smyčky se zakázanými konfiguracemi koncových bodů relace

Tento příklad ukazuje, jak jsou konfigurace koncových bodů zakázány, a ukazuje, jak provést úspěšné připojení zpětné smyčky ke zakázanému koncovému bodu. Disable-PSRemoting zakáže všechny konfigurace koncových bodů relace PowerShellu.

Disable-PSRemoting -Force
New-PSSession -ComputerName localhost
WARNING: Disabling the session configurations does not undo all the changes made by the Enable-PSRemoting
 or Enable-PSSessionConfiguration cmdlet. You might have to manually undo the changes by following these steps:
    1. Stop and disable the WinRM service.
    2. Delete the listener that accepts requests on any IP address.
    3. Disable the firewall exceptions for WS-Management communications.
    4. Restore the value of the LocalAccountTokenFilterPolicy to 0, which restricts remote access to
       members of the Administrators group on the computer.

New-PSSession : [localhost] Connecting to remote server localhost failed with the following error message : Access is
denied. For more information, see the about_Remote_Troubleshooting Help topic.
At line:1 char:1
+ New-PSSession -ComputerName localhost
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotin
   gTransportException
    + FullyQualifiedErrorId : AccessDenied,PSSessionOpenFailed

New-PSSession -ComputerName localhost -EnableNetworkAccess
 Id Name       Transport ComputerName  ComputerType   State   ConfigurationName   Availability
 -- ----       --------- ------------  ------------   -----   -----------------   ------------
 1  Runspace1  WSMan     localhost     RemoteMachine  Opened  powershell.6           Available

První použití New-PSSession se pokusí vytvořit vzdálenou relaci místního počítače. Tento typ připojení prochází zásobníkem sítě a nejedná se o zpětné smyčky. V důsledku toho pokus o připojení k zakázanému koncovému bodu selže s Access je odepřen chybě.

Druhé použití New-PSSession se také pokusí vytvořit vzdálenou relaci místního počítače. V tomto případě je úspěšné, protože se jedná o připojení zpětné smyčky, které obchází zásobník sítě.

Při splnění následujících podmínek se vytvoří připojení zpětné smyčky:

  • Název počítače, ke kterému se chcete připojit, je localhost.
  • Nejsou předány žádné přihlašovací údaje. Aktuální přihlášený uživatel (implicitní přihlašovací údaje) se používá pro připojení.
  • Použije se parametr přepínače EnableNetworkAccess.

Další informace o připojeních zpětné smyčky najdete v dokumentu New-PSSession.

Příklad 6: Zabránění vzdálenému přístupu ke konfiguracím relací, které mají vlastní popisovače zabezpečení

Tento příklad ukazuje, že rutina Disable-PSRemoting zakáže vzdálený přístup ke všem konfiguracím relací, které zahrnují konfigurace relací s vlastními popisovači zabezpečení.

Register-PSSessionConfiguration vytvoří konfiguraci relace Test. Parametr FilePath určuje konfigurační soubor relace, který relaci přizpůsobí. Parametr ShowSecurityDescriptorUI zobrazí dialogové okno, které nastaví oprávnění pro konfiguraci relace. V dialogovém okně Oprávnění vytvoříme pro uvedeného uživatele vlastní úplná přístupová oprávnění.

Rutiny Get-PSSessionConfiguration a Format-Table zobrazují konfigurace relací a jejich vlastnosti. Výstup ukazuje, že konfigurace relace Test umožňuje interaktivní přístup a zvláštní oprávnění pro daného uživatele.

Disable-PSRemoting zakáže vzdálený přístup ke všem konfiguracím relací.

Register-PSSessionConfiguration -Name Test -FilePath .\TestEndpoint.pssc -ShowSecurityDescriptorUI -Force
Get-PSSessionConfiguration | Format-Table -Property Name, Permission -Wrap

Disable-PSRemoting -Force
Get-PSSessionConfiguration | Format-Table -Property Name, Permission -Wrap
New-PSSession -ComputerName localhost -ConfigurationName Test
Name                          Permission
----                          ----------
microsoft.powershell          BUILTIN\Administrators AccessAllowed
Test                          NT AUTHORITY\INTERACTIVE AccessAllowed, BUILTIN\Administrators AccessAllowed,
DOMAIN01\User01 AccessAllowed

WARNING: Disabling the session configurations does not undo all the changes made by the Enable-PSRemoting
 or Enable-PSSessionConfiguration cmdlet. You might have to manually undo the changes by following these steps:
    1. Stop and disable the WinRM service.
    2. Delete the listener that accepts requests on any IP address.
    3. Disable the firewall exceptions for WS-Management communications.
    4. Restore the value of the LocalAccountTokenFilterPolicy to 0, which restricts remote access to
       members of the Administrators group on the computer.

Name                          Permission
----                          ----------
microsoft.powershell          NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
Test                          NT AUTHORITY\NETWORK AccessDenied, NTAUTHORITY\INTERACTIVE AccessAllowed,
BUILTIN\Administrators AccessAllowed, DOMAIN01\User01 AccessAllowed


[Server01] Connecting to remote server failed with the following error message : Access is denied. For more information, see the about_Rem
ote_Troubleshooting Help topic.
+ CategoryInfo          : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
+ FullyQualifiedErrorId : PSSessionOpenFailed

Teď rutiny Get-PSSessionConfiguration a Format-Table ukazují, že popisovač zabezpečení AccessDenied pro všechny uživatele sítě se přidá do všech konfigurací relací, včetně konfigurace relace Test. I když se ostatní popisovače zabezpečení nezmění, přednost má popisovač zabezpečení "network_deny_all". Ukazuje to pokus o použití New-PSSession pro připojení ke konfiguraci relace Test.

Příklad 7: Opětovné povolení vzdáleného přístupu k vybraným konfiguracím relací

Tento příklad ukazuje, jak znovu povolit vzdálený přístup pouze k vybraným konfiguracím relací. Po zakázání všech konfigurací relací znovu povolíme konkrétní relaci.

Rutina Set-PSSessionConfiguration slouží ke změně microsoftu. Konfigurace relace správce serveru. Parametr AccessMode s hodnotou Vzdálené znovu povolí vzdálený přístup ke konfiguraci.

Disable-PSRemoting -Force
Get-PSSessionConfiguration | Format-Table -Property Name, Permission -AutoSize

Set-PSSessionConfiguration -Name Microsoft.ServerManager -AccessMode Remote -Force
Get-PSSessionConfiguration | Format-Table -Property Name, Permission -AutoSize
WARNING: Disabling the session configurations does not undo all the changes made by the Enable-PSRemoting
 or Enable-PSSessionConfiguration cmdlet. You might have to manually undo the changes by following these steps:
    1. Stop and disable the WinRM service.
    2. Delete the listener that accepts requests on any IP address.
    3. Disable the firewall exceptions for WS-Management communications.
    4. Restore the value of the LocalAccountTokenFilterPolicy to 0, which restricts remote access to
       members of the Administrators group on the computer.

Name                          Permission
----                          ----------
microsoft.powershell          NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell.workflow NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell32        NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.ServerManager       NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
WithProfile                   NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed

Name                          Permission
----                          ----------
microsoft.powershell          NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell.workflow NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell32        NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.ServerManager       BUILTIN\Administrators AccessAllowed
WithProfile                   NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed

Parametry

-Confirm

Před spuštěním cmdletu vás vyzve k potvrzení.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False
Aliasy:viz

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Force

Přinutí příkaz ke spuštění bez výzvy k potvrzení uživatele.

Vlastnosti parametru

Typ:SwitchParameter
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-WhatIf

Ukazuje, co se stane, když se příkaz spustí. Příkazový modul nebyl spuštěn.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False
Aliasy:Wi

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

CommonParameters

Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.

Vstupy

None

Do tohoto cmdletu nemůžete předávat objekty.

Výstupy

None

Tento cmdlet nevrátí žádný výstup.

Poznámky

  • Zakázání konfigurací relace neruší všechny změny provedené Enable-PSRemoting nebo rutinami Enable-PSSessionConfiguration. Možná budete muset následující změny vrátit zpět ručně.

    1. Zastavte a zakažte službu WinRM.
    2. Odstraňte naslouchací proces, který přijímá požadavky na libovolnou IP adresu.
    3. Zakažte výjimky brány firewall pro komunikaci WS-Management.
    4. Obnovte hodnotu LocalAccountTokenFilterPolicy na hodnotu 0, která omezuje vzdálený přístup na členy skupiny Administrators v počítači.

    Konfigurace relace je skupina nastavení, která definují prostředí pro relaci. Každá relace, která se připojuje k počítači, musí používat jednu z konfigurací relací zaregistrovaných v počítači. Odepřením vzdáleného přístupu ke všem konfiguracím relací efektivně zabráníte vzdáleným uživatelům navazovat relace, které se připojují k počítači.

    V prostředí Windows PowerShell 2.0 Disable-PSRemoting přidá položku Deny_All do popisovačů zabezpečení všech konfigurací relací. Toto nastavení zabrání všem uživatelům v vytváření relací spravovaných uživatelem do místního počítače. V prostředí Windows PowerShell 3.0 Disable-PSRemoting přidá položku Network_Deny_All do popisovačů zabezpečení všech konfigurací relací. Toto nastavení zabrání uživatelům v jiných počítačích vytvářet relace spravované uživatelem na místním počítači, ale umožňuje uživatelům místního počítače vytvářet relace zpětné smyčky spravované uživatelem.

    Ve Windows PowerShellu 2.0 je Disable-PSRemoting ekvivalentem Disable-PSSessionConfiguration -Name *. V prostředí Windows PowerShell 3.0 a novějších verzích je Disable-PSRemoting ekvivalentem Set-PSSessionConfiguration -Name \<Configuration name\> -AccessMode Local