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.
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 .