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

To polecenie cmdlet jest dostępne tylko na platformie Windows.

Polecenie cmdlet Disable-PSSessionConfiguration 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, polecenie cmdlet Disable-PSSessionConfiguration ustawia ustawienie Włączone konfiguracji sesji (WSMan:\localhost\Plugins\<SessionConfiguration>\Enabled) na wartość False.

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

Bez parametrów Disable-PSSessionConfiguration wyłącza konfigurację 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 Disable-PSRemoting.

Przykłady

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

W tym przykładzie wyłączono konfigurację sesji 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

Ten przykład wyłącza 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

W tym przykładzie program MaintenanceShell i konfiguracje sesji programu AdminShell. Operator potoku (|) wysyła wyniki 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 Disable-PSSessionConfiguration i po nim 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

Nuta

Wyłączenie konfiguracji nie uniemożliwia zmiany konfiguracji przy użyciu polecenia cmdlet Set-PSSessionConfiguration. 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, aby 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, jeśli polecenie cmdlet zostanie uruchomione. Polecenie cmdlet nie jest uruchamiane.

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

To polecenie cmdlet jest dostępne tylko na platformach windows.

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