Condividi tramite


Unregister-PSSessionConfiguration

Elimina le configurazioni di sessione registrate dal computer.

Sintassi

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

Descrizione

Il Unregister-PSSessionConfiguration cmdlet elimina le configurazioni di sessione registrate dal computer. Questo cmdlet è progettato per gli amministratori di sistema per gestire configurazioni di sessione personalizzate per gli utenti.

Per rendere effettiva la modifica, Unregister-PSSessionConfiguration riavvia il servizio WinRM. Per evitare il riavvio, specificare il parametro NoServiceRestart .

Se si eliminano accidentalmente le configurazioni predefinite Microsoft.PowerShell o Microsoft.PowerShell32 di sessione, usare il Enable-PSRemoting cmdlet per ripristinarle. Per altre informazioni, vedere about_Session_Configurations.

Esempio

Esempio 1: Eliminare una configurazione di sessione

In questo esempio viene eliminata la configurazione della MaintenanceShell sessione dal computer.

Unregister-PSSessionConfiguration -Name "MaintenanceShell"

Esempio 2: Eliminare una configurazione di sessione e riavviare il servizio WinRM

In questo esempio si elimina la MaintenanceShell configurazione e si riavvia il servizio WinRM. Il parametro Force elimina tutti i messaggi utente per riavviare il servizio WinRM senza chiedere conferma.

Unregister-PSSessionConfiguration -Name MaintenanceShell -Force

Esempio 3: Eliminare tutte le configurazioni di sessione

In questo esempio vengono illustrati due modi per eliminare tutte le configurazioni di sessione nel computer. Entrambi i comandi hanno lo stesso effetto e possono essere usati in modo intercambiabile.

Unregister-PSSessionConfiguration -Name *
Get-PSSessionConfiguration -Name * | Unregister-PSSessionConfiguration

Esempio 4: Annullare la registrazione senza un riavvio

In questo esempio viene illustrato l'effetto dell'uso del parametro NoServiceRestart per impedire un riavvio del servizio che interrompe le sessioni nel computer.

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 Elimina la configurazione della MaintenanceShell sessione. Tuttavia, poiché il comando usa il parametro NoServiceRestart , il servizio WinRM non viene riavviato e la modifica non è ancora completamente efficace.

Successivamente, Get-PSSessionConfiguration tenta di ottenere la MaintenanceShell sessione. Poiché la sessione è stata rimossa dalla tabella delle risorse WS-Management, Get-PSSessionConfiguration non può restituirla.

Il New-PSSession cmdlet crea una sessione usando la MaintenanceShell configurazione. Il comando riesce. A questo punto, riavviamo il servizio WinRM.

Infine, il New-PSSession cmdlet tenta di creare una sessione che usa la MaintenanceShell configurazione. Questa volta, la sessione ha esito negativo perché la MaintenanceShell configurazione è stata eliminata al riavvio del servizio WinRM.

Parametri

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Force

Indica che il cmdlet non richiede conferma e riavvia il servizio WinRM senza chiedere conferma. Al riavvio del servizio viene applicata la modifica alla configurazione.

Per impedire un riavvio e eliminare il prompt di riavvio, usare il parametro NoServiceRestart .

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Name

Specifica i nomi delle configurazioni di sessione da eliminare. Immettere un nome o un modello di configurazione di sessione. I caratteri jolly sono consentiti. Questo parametro è obbligatorio.

È anche possibile inviare tramite pipe le configurazioni di una sessione a Unregister-PSSessionConfiguration.

Tipo:String
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:True

-NoServiceRestart

Indica che questo cmdlet non riavvia il servizio WinRM e elimina la richiesta di riavviare il servizio.

Per impostazione predefinita, quando si esegue un Unregister-PSSessionConfiguration comando, viene richiesto di riavviare il servizio WinRM per rendere effettiva la modifica. Fino al riavvio del servizio WinRM, gli utenti possono comunque usare la configurazione di sessione non registrata, anche se Get-PSSessionConfiguration non lo trova.

Per riavviare il servizio WinRM senza richiedere conferma, specificare il parametro Force . Per riavviare manualmente il servizio WinRM, usare il Restart-Service cmdlet .

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

È possibile inviare tramite pipe un oggetto di configurazione sessione a questo cmdlet.

Output

None

Questo cmdlet non restituisce output.

Note

Per eseguire questo cmdlet, è necessario avviare PowerShell usando l'opzione Esegui come amministratore .