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 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 wartość False.

W programie PowerShell 2.0 Disable-PSSessionConfiguration polecenie cmdlet dodaje Deny_All wpis 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ą dla 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 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

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 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 . Zapobiega ona tylko użyciu konfiguracji.

Parametry

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Wymusza uruchomienie polecenia bez monitowania o potwierdzenie użytkownika.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Name

Określa tablicę nazw konfiguracji sesji do wyłączenia. Wprowadź co najmniej jedną nazwę konfiguracji. Dozwolone są symbole wieloznaczne. Można również potokować 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 .

Type:String[]
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:True

-NoServiceRestart

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

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

Dane wejściowe

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

Możesz przekazać potok obiektu konfiguracji sesji lub ciągu zawierającego nazwę konfiguracji sesji do tego polecenia cmdlet.

Dane wyjściowe

None

To polecenie cmdlet nie zwraca żadnych obiektów.

Uwagi

To polecenie cmdlet jest dostępne tylko na platformach systemu Windows.

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