Udostępnij za pośrednictwem


Disable-PSSessionConfiguration

Wyłącza konfiguracje sesji na komputerze lokalnym.

Składnia

Disable-PSSessionConfiguration
       [[-Name] <String[]>]
       [-Force]
       [-NoServiceRestart]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Opis

Polecenie Disable-PSSessionConfiguration cmdlet wyłącza konfiguracje sesji na komputerze lokalnym, co uniemożliwia wszystkim użytkownikom korzystanie z konfiguracji sesji w celu utworzenia sesji zarządzanych przez użytkownika (PSSessions) na komputerze lokalnym. Jest to zaawansowane polecenie cmdlet przeznaczone do użycia przez administratorów systemu w celu zarządzania niestandardowymi konfiguracjami sesji dla użytkowników.

Począwszy od programu PowerShell 3.0, Disable-PSSessionConfiguration polecenie cmdlet ustawia ustawienie Włączone konfiguracji sesji (WSMan:\localhost\Plugins\<SessionConfiguration>\Enabled) na False.

W programie PowerShell 2.0 Disable-PSSessionConfiguration polecenie cmdlet dodaje wpis Deny_All do deskryptora zabezpieczeń co najmniej jednej zarejestrowanej konfiguracji sesji.

Bez parametrów Disable-PSSessionConfiguration wyłącza konfigurację programu Microsoft.PowerShell , domyślną konfigurację używaną na potrzeby sesji. Jeśli użytkownik nie określi innej konfiguracji, zarówno użytkownicy lokalni, jak i zdalni będą skutecznie uniemożliwiać tworzenie sesji łączących się z komputerem.

Aby wyłączyć wszystkie konfiguracje sesji na komputerze, użyj polecenia Disable-PSRemoting.

Przykłady

Przykład 1. Wyłączanie konfiguracji domyślnej

W tym przykładzie wyłączono konfigurację sesji programu Microsoft.PowerShell .

Disable-PSSessionConfiguration

Przykład 2: Wyłączanie wszystkich zarejestrowanych konfiguracji sesji

Ten przykład wyłącza wszystkie zarejestrowane konfiguracje sesji na komputerze.

Disable-PSSessionConfiguration -Name *

Przykład 3. Wyłączanie konfiguracji sesji według nazwy

W tym przykładzie wszystkie konfiguracje sesji, które mają nazwy rozpoczynające się od Microsoft. Parametr Force pomija wszystkie monity użytkownika z polecenia cmdlet.

Disable-PSSessionConfiguration -Name Microsoft* -Force

Przykład 4. Wyłączanie konfiguracji sesji przy użyciu potoku

Ten przykład wyłącza konfiguracje sesji programu MaintenanceShell i programu AdminShell . Operator potoku (|) wysyła wyniki elementu Get-PSSessionConfiguration do Disable-PSSessionConfiguration.

Get-PSSessionConfiguration -Name MaintenanceShell, AdminShell | Disable-PSSessionConfiguration

Przykład 5. Efekty wyłączania konfiguracji sesji

W tym przykładzie przedstawiono uprawnienia przed uruchomieniem i po jego uruchomieniu Disable-PSSessionConfiguration oraz efekt wyłączenia konfiguracji sesji.

PS> Get-PSSessionConfiguration | Format-Table -Property Name, Permission -Auto

Name                   Permission
----                   ----------
MaintenanceShell       BUILTIN\Administrators AccessAllowed
microsoft.powershell   BUILTIN\Administrators AccessAllowed
microsoft.powershell32 BUILTIN\Administrators AccessAllowed

PS> Disable-PSSessionConfiguration -Name MaintenanceShell -Force
PS> Get-PSSessionConfiguration | Format-Table -Property Name, Permission -Auto

Name                   Permission
----                   ----------
MaintenanceShell       Everyone AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell   BUILTIN\Administrators AccessAllowed
microsoft.powershell32 BUILTIN\Administrators AccessAllowed

PS> New-PSSession -ComputerName localhost -ConfigurationName MaintenanceShell

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

Uwaga

Wyłączenie konfiguracji nie uniemożliwia zmiany konfiguracji przy użyciu Set-PSSessionConfiguration polecenia cmdlet . Uniemożliwia tylko użycie konfiguracji.

Parametry

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Force

Wymusza uruchomienie polecenia bez monitowania o potwierdzenie użytkownika.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Name

Określa tablicę nazw konfiguracji sesji do wyłączenia. Wprowadź co najmniej jedną nazwę konfiguracji. Dozwolone są symbole wieloznaczne. Możesz również przekazać ciąg zawierający nazwę konfiguracji lub obiekt konfiguracji sesji do Disable-PSSessionConfiguration.

Jeśli ten parametr zostanie pominięty, Disable-PSSessionConfiguration wyłączy konfigurację sesji Microsoft.PowerShell .

Typ:String[]
Position:0
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:True

-NoServiceRestart

Służy do zapobiegania ponownemu uruchamianiu usługi WSMan. Nie jest konieczne ponowne uruchomienie usługi w celu wyłączenia konfiguracji.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-WhatIf

Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

Do tego polecenia cmdlet można przekazać obiekt konfiguracji sesji.

String

Możesz potokować ciąg zawierający nazwę konfiguracji sesji do tego polecenia cmdlet.

Dane wyjściowe

None

To polecenie cmdlet nie zwraca żadnych danych wyjściowych.

Uwagi

Aby uruchomić to polecenie cmdlet, należy uruchomić program PowerShell przy użyciu opcji Uruchom jako administrator .