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 Unregister-PSSessionConfiguration cmdlet usuwa konfiguracje zarejestrowanej sesji z komputera. To polecenie cmdlet jest przeznaczone dla administratorów systemu do zarządzania dostosowanymi 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 konfiguracje domyślne Microsoft.PowerShell lub Microsoft.PowerShell32 sesji, użyj Enable-PSRemoting polecenia cmdlet , 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 konfiguracja sesji zostanie usunięta MaintenanceShell z komputera.

Unregister-PSSessionConfiguration -Name "MaintenanceShell"

Przykład 2. Usuwanie konfiguracji sesji i ponowne uruchomienie usługi WinRM

W tym przykładzie usuniemy konfigurację i uruchomimy ponownie usługę MaintenanceShell WinRM. Parametr Force pomija wszystkie komunikaty użytkownika, aby ponownie uruchomić usługę WinRM bez monitowania.

Unregister-PSSessionConfiguration -Name MaintenanceShell -Force

Przykład 3. Usuwanie wszystkich konfiguracji sesji

W tych przykładach przedstawiono dwa sposoby usuwania wszystkich konfiguracji sesji na komputerze. Oba polecenia mają taki 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 wpływ 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

Element Unregister-PSSessionConfiguration usuwa konfigurację MaintenanceShell sesji. Jednak ponieważ polecenie używa parametru NoServiceRestart , usługa WinRM nie jest ponownie uruchamiana, a zmiana nie jest jeszcze całkowicie skuteczna.

Get-PSSessionConfiguration 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 New-PSSession cmdlet tworzy sesję przy użyciu MaintenanceShell konfiguracji. Polecenie zakończy się pomyślnie. Następnie uruchomimy ponownie usługę WinRM.

New-PSSession Na koniec polecenie cmdlet próbuje utworzyć sesję, która używa MaintenanceShell konfiguracji. Tym razem sesja kończy się niepowodzeniem, ponieważ MaintenanceShell konfiguracja została usunięta po ponownym uruchomieniu usługi WinRM.

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

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 będzie skuteczna.

Aby zapobiec ponownemu uruchomieniu i pominąć monit o ponowne uruchomienie, użyj parametru NoServiceRestart .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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ć Unregister-PSSessionConfigurationdo elementu .

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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 Unregister-PSSessionConfiguration polecenia 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 nie zostanie ona odnaleziona.

Aby ponownie uruchomić usługę WinRM bez monitowania, określ parametr Force . Aby ręcznie uruchomić ponownie usługę WinRM, użyj Restart-Service polecenia cmdlet .

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

Obiekt konfiguracji Get-PSSessionConfiguration sesji można przekazać 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 .