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 dostosowanymi 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 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 są skutecznie uniemożliwiani 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 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 korzystanie z konfiguracji.
Parametry
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | 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 |
Required: | False |
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żesz również przekazać ciąg zawierający nazwę konfiguracji lub obiekt konfiguracji sesji do .Disable-PSSessionConfiguration
Jeśli pominiesz ten parametr, Disable-PSSessionConfiguration
wyłączy konfigurację sesji Microsoft.PowerShell .
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | False |
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 |
Required: | False |
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 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Dane wejściowe
Microsoft.PowerShell.Commands.PSSessionConfigurationCommands
Do tego polecenia cmdlet można przekazać potok obiektu konfiguracji sesji lub ciąg zawierający nazwę konfiguracji sesji.
Dane wyjściowe
None
To polecenie cmdlet nie zwraca żadnych obiektów.
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 .