Udostępnij za pomocą


Unregister-PSSessionConfiguration

Usuwa zarejestrowane konfiguracje sesji z komputera.

Składnia

Default (domyślnie)

Unregister-PSSessionConfiguration
    [-Name] <String>
    [-Force]
    [-NoServiceRestart]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Opis

Polecenie cmdlet Unregister-PSSessionConfiguration usuwa zarejestrowane konfiguracje sesji z komputera. Cmdlet ten przeznaczony jest dla administratorów systemu, aby zarządzać niestandardowymi konfiguracjami sesji dla użytkowników.

Aby wprowadzić zmianę, Unregister-PSSessionConfiguration ponownie uruchamia usługę WinRM. Aby zapobiec ponownemu uruchomieniu, określ parametr NoServiceRestart.

Jeśli przypadkowo usuniesz domyślne konfiguracje sesji Microsoft.PowerShell lub Microsoft.PowerShell32, 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

W tym przykładzie z komputera zostanie usunięta konfiguracja sesji programu MaintenanceShell.

Unregister-PSSessionConfiguration -Name "MaintenanceShell"

Przykład 2: Usuwanie konfiguracji sesji i ponowne uruchamianie usługi WinRM

W tym przykładzie usuniemy konfigurację MaintenanceShell i ponownie uruchomimy usługę WinRM. Parametr Force pomija wszystkie komunikaty użytkownika w celu ponownego uruchomienia usługi 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 (https://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 programu MaintenanceShell. Jednak ponieważ polecenie używa parametru NoServiceRestart, usługa WinRM nie jest uruchamiana ponownie, a zmiana nie jest jeszcze całkowicie skuteczna.

Następnie 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 tworzy sesję przy użyciu konfiguracji MaintenanceShell. Polecenie koń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 programu MaintenanceShell. Tym razem sesja kończy się niepowodzeniem, ponieważ konfiguracja programu MaintenanceShell została usunięta po ponownym uruchomieniu usługi WinRM.

Parametry

-Confirm

Prosi o potwierdzenie przed uruchomieniem cmdletu.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:por

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Name

Określa nazwy konfiguracji sesji do usunięcia. Wprowadź jedną nazwę konfiguracji sesji lub wzorzec nazwy konfiguracji. Symbole wieloznaczne są dozwolone. Ten parametr jest wymagany.

Konfiguracje sesji można również przekierować do Unregister-PSSessionConfiguration.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

(All)
Position:0
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-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 w celu wprowadzenia zmiany. 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.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-WhatIf

Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Cmdlet nie jest uruchomiony.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:Wi

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Dane wejściowe

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

Obiekt konfiguracji sesji można przekazać potokiem z Get-PSSessionConfiguration do tego polecenia cmdlet.

Dane wyjściowe

None

To polecenie cmdlet nie zwraca żadnych obiektów.

Uwagi

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