Condividi tramite


Disable-PSSessionConfiguration

Disabilita le configurazioni di sessione nel computer locale.

Sintassi

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

Descrizione

Questo cmdlet è disponibile solo nella piattaforma Windows.

Il cmdlet Disable-PSSessionConfiguration disabilita le configurazioni di sessione nel computer locale, che impedisce a tutti gli utenti di usare le configurazioni di sessione per creare sessioni gestite dall'utente (PSSessions) nel computer locale. Si tratta di un cmdlet avanzato progettato per essere usato dagli amministratori di sistema per gestire configurazioni di sessione personalizzate per gli utenti.

A partire da PowerShell 3.0, il cmdlet Disable-PSSessionConfiguration imposta l'impostazione Abilitato della configurazione di sessione (WSMan:\localhost\Plugins\<SessionConfiguration>\Enabled) su False.

In PowerShell 2.0 il cmdlet Disable-PSSessionConfiguration aggiunge una voce Deny_All al descrittore di sicurezza di una o più configurazioni di sessione registrate.

Senza parametri, Disable-PSSessionConfiguration disabilita la configurazione Microsoft.PowerShell, la configurazione predefinita usata per le sessioni. A meno che l'utente non specifichi una configurazione diversa, gli utenti locali e remoti non possono creare sessioni che si connettono al computer.

Per disabilitare tutte le configurazioni di sessione nel computer, usare Disable-PSRemoting.

Esempio

Esempio 1: Disabilitare la configurazione predefinita

In questo esempio viene disabilitata la configurazione della sessione di Microsoft.PowerShell.

Disable-PSSessionConfiguration

Esempio 2: Disabilitare tutte le configurazioni di sessione registrate

In questo esempio vengono disabilitate tutte le configurazioni di sessione registrate nel computer.

Disable-PSSessionConfiguration -Name *

Esempio 3: Disabilitare le configurazioni di sessione in base al nome

In questo esempio vengono disabilitate tutte le configurazioni di sessione con nomi che iniziano con Microsoft. Il parametro Force elimina tutti i prompt degli utenti dal cmdlet .

Disable-PSSessionConfiguration -Name Microsoft* -Force

Esempio 4: Disabilitare le configurazioni di sessione usando la pipeline

In questo esempio vengono disabilitate le configurazioni di sessione MaintenanceShell e AdminShell. L'operatore pipeline (|) invia i risultati di un Get-PSSessionConfiguration a Disable-PSSessionConfiguration.

Get-PSSessionConfiguration -Name MaintenanceShell, AdminShell | Disable-PSSessionConfiguration

Esempio 5: Effetti della disabilitazione di una configurazione di sessione

Questo esempio mostra le autorizzazioni prima e dopo l'esecuzione di Disable-PSSessionConfiguration e l'effetto della disabilitazione di una configurazione di sessione.

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

Nota

La disabilitazione della configurazione non impedisce di modificare la configurazione usando il cmdlet Set-PSSessionConfiguration. Impedisce solo l'uso della configurazione.

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

Forza l'esecuzione del comando senza chiedere conferma dell'utente.

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

-Name

Specifica una matrice di nomi di configurazioni di sessione da disabilitare. Immettere uno o più nomi di configurazione. Sono consentiti caratteri jolly. È anche possibile inviare tramite pipe una stringa contenente un nome di configurazione o un oggetto di configurazione della sessione a Disable-PSSessionConfiguration.

Se si omette questo parametro, Disable-PSSessionConfiguration disabilita la configurazione della sessione Microsoft.PowerShell.

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

-NoServiceRestart

Usato per impedire il riavvio del servizio WSMan. Non è necessario riavviare il servizio per disabilitare la configurazione.

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

-WhatIf

Mostra cosa accadrebbe se il cmdlet viene eseguito. 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.

String

È possibile inviare tramite pipe una stringa contenente il nome di una configurazione di sessione a questo cmdlet.

Output

None

Questo cmdlet non restituisce alcun output.

Note

Questo cmdlet è disponibile solo nelle piattaforme Windows.

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