Unregister-PSSessionConfiguration
Usuwa zarejestrowane konfiguracje sesji z komputera.
Składnia
Unregister-PSSessionConfiguration
[-Name] <String>
[-Force]
[-NoServiceRestart]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Opis
To polecenie cmdlet jest dostępne tylko na platformie Windows.
Polecenie cmdlet Unregister-PSSessionConfiguration
usuwa zarejestrowane konfiguracje sesji z komputera. To polecenie cmdlet jest przeznaczone dla administratorów systemu do zarządzania niestandardowymi konfiguracjami sesji dla użytkowników.
Aby wprowadzić zmianę w życie, Unregister-PSSessionConfiguration
ponownie uruchomi usługę WinRM. Aby zapobiec ponownemu uruchomieniu, określ parametr NoServiceRestart.
Jeśli przypadkowo usuniesz konfigurację domyślnej Microsoft.PowerShell
lub Microsoft.PowerShell32
sesji, użyj polecenia cmdlet Enable-PSRemoting
, aby je przywrócić. Aby uzyskać więcej informacji, zobacz about_Session_Configurations.
Przykłady
Przykład 1. Usuwanie konfiguracji sesji
Ten przykład usuwa konfigurację sesji MaintenanceShell
z komputera.
Unregister-PSSessionConfiguration -Name "MaintenanceShell"
Przykład 2: Usuwanie konfiguracji sesji i ponowne uruchamianie usługi WinRM
W tym przykładzie usuniemy konfigurację MaintenanceShell
i uruchomimy ponownie usługę WinRM. Parametr Force pomija wszystkie komunikaty użytkownika w celu ponownego uruchomienia usługi WinRM bez monitowania.
Unregister-PSSessionConfiguration -Name MaintenanceShell -Force
Przykład 3. Usuwanie wszystkich konfiguracji sesji
W tych przykładach pokazano dwa sposoby usuwania wszystkich konfiguracji sesji na komputerze. Oba polecenia mają ten sam efekt i mogą być używane zamiennie.
Unregister-PSSessionConfiguration -Name *
Get-PSSessionConfiguration -Name * | Unregister-PSSessionConfiguration
Przykład 4. Wyrejestrowywanie bez ponownego uruchamiania
W tym przykładzie pokazano efekt użycia parametru NoServiceRestart, aby zapobiec ponownemu uruchomieniu usługi, które zakłóciłyby wszystkie sesje na komputerze.
PS> Unregister-PSSessionConfiguration -Name "MaintenanceShell" -NoServiceRestart
PS> Get-PSSessionConfiguration -Name "MaintenanceShell"
Get-PSSessionConfiguration -Name MaintenanceShell : No Session Configuration matches criteria "MaintenanceShell".
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException
PS> New-PSSession -ConfigurationName "MaintenanceShell"
Id Name ComputerName State Configuration Availability
-- ---- ------------ ----- ------------- ------------
1 Session1 localhost Opened MaintenanceShell Available
PS> Restart-Service winrm
PS> New-PSSession -ConfigurationName MaintenanceShell
[localhost] Connecting to remote server failed with the following error message :
The WS-Management service cannot process the request.
The resource URI (http://schemas.microsoft.com/powershell/MaintenanceShell) was not found in the WS-Management catalog.
The catalog contains the metadata that describes resources, or logical endpoints.
For more information, see the about_Remote_Troubleshooting Help topic.
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
+ FullyQualifiedErrorId : PSSessionOpenFailed
Unregister-PSSessionConfiguration
usuwa konfigurację sesji MaintenanceShell
.
Jednak ponieważ polecenie używa parametru NoServiceRestart, usługa WinRM nie jest uruchamiana ponownie i zmiana nie jest jeszcze całkowicie skuteczna.
Następnie Get-PSSessionConfiguration
próbuje pobrać sesję MaintenanceShell
. Ponieważ sesja została usunięta z tabeli zasobów WS-Management, Get-PSSessionConfiguration
nie może jej zwrócić.
Polecenie cmdlet New-PSSession
tworzy sesję przy użyciu konfiguracji MaintenanceShell
. Polecenie zakończy się pomyślnie. Następnie uruchomimy ponownie usługę WinRM.
Na koniec polecenie cmdlet New-PSSession
próbuje utworzyć sesję korzystającą z konfiguracji MaintenanceShell
. Tym razem sesja kończy się niepowodzeniem, ponieważ konfiguracja MaintenanceShell
została usunięta po ponownym uruchomieniu usługi WinRM.
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
Wskazuje, że polecenie cmdlet nie wyświetla monitu o potwierdzenie i uruchamia ponownie usługę WinRM bez monitowania. Ponowne uruchomienie usługi powoduje, że zmiana konfiguracji jest skuteczna.
Aby zapobiec ponownemu uruchomieniu i pominąć monit o ponowne uruchomienie, użyj parametru NoServiceRestart.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Name
Określa nazwy konfiguracji sesji do usunięcia. Wprowadź jedną nazwę konfiguracji sesji lub wzorzec nazwy konfiguracji. Dozwolone są symbole wieloznaczne. Ten parametr jest wymagany.
Konfiguracje sesji można również przekazać potokiem do Unregister-PSSessionConfiguration
.
Typ: | String |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | True |
-NoServiceRestart
Wskazuje, że to polecenie cmdlet nie uruchamia ponownie usługi WinRM i pomija monit o ponowne uruchomienie usługi.
Domyślnie po uruchomieniu polecenia Unregister-PSSessionConfiguration
zostanie wyświetlony monit o ponowne uruchomienie usługi WinRM, aby wprowadzić zmianę w życie. Dopóki usługa WinRM nie zostanie ponownie uruchomiona, użytkownicy nadal będą mogli korzystać z niezarejestrowanej konfiguracji sesji, mimo że Get-PSSessionConfiguration
jej nie znajdzie.
Aby ponownie uruchomić usługę WinRM bez monitowania, określ parametr Force. Aby ręcznie uruchomić ponownie usługę WinRM, użyj polecenia cmdlet Restart-Service
.
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.
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.
Linki powiązane
- Disable-PSSessionConfiguration
- Enable-PSSessionConfiguration
- Get-PSSessionConfiguration
- New-PSSessionConfigurationFile
- New-PSSessionOption
- Register-PSSessionConfiguration
- Set-PSSessionConfiguration
- Test-PSSessionConfigurationFile
- Unregister-PSSessionConfiguration
- Dostawca programu WSMan
- about_Session_Configurations
- about_Session_Configuration_Files