Disable-PSSessionConfiguration
Nega l'accesso alle configurazioni di sessione nel computer locale.
Sintassi
Disable-PSSessionConfiguration [[-Name] <string[]>] [-Force] [-Confirm] [-WhatIf] [<CommonParameters>]
Descrizione
Il cmdlet Disable-PSSessionConfiguration impedisce a tutti gli utenti del computer di utilizzare la configurazione di sessione in una sessione. Si tratta di un cmdlet avanzato progettato per essere utilizzato da amministratori di sistema per gestire le configurazioni di sessione personalizzate degli utenti.
Il cmdlet Disable-PSSessionConfiguration aggiunge un'impostazione "deny all" al descrittore di sicurezza di una o più configurazioni di sessione registrate. Di conseguenza, è possibile annullare la registrazione, visualizzare e modificare le configurazioni, ma non utilizzarle in una sessione.
Senza parametri, Disable-PSSessionConfiguration disabilita la configurazione Microsoft.PowerShell, ovvero la configurazione predefinita utilizzata per le sessioni. A meno che l'utente non specifichi una configurazione diversa, gli utenti locali e remoti non sono autorizzati a creare sessioni che si connettano al computer.
Per disabilitare tutte le configurazioni di sessione nel computer, utilizzare Disable-PSRemoting.
Parametri
-Force
Elimina tutti i prompt dell'utente. Per impostazione predefinita, viene richiesto di confermare ogni operazione.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
False |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Name <string[]>
Specifica i nomi delle configurazioni di sessione da disabilitare. Immettere uno o più nomi di configurazione. È consentito l'utilizzo di caratteri jolly. È inoltre possibile reindirizzare una stringa che contiene un nome di configurazione o un oggetto configurazione di sessione a Disable-PSSessionConfiguration.
Se si omette questo parametro, Disable-PSSessionConfiguration disabilita la configurazione di sessione Microsoft.PowerShell.
Obbligatorio? |
false |
Posizione? |
1 |
Valore predefinito |
Microsoft.PowerShell |
Accettare input da pipeline? |
true (ByValue, ByPropertyName) |
Accettare caratteri jolly? |
true |
-Confirm
Chiede una conferma prima di eseguire il comando.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-WhatIf
Descrive ciò che accadrebbe se si eseguisse il comando senza eseguirlo realmente.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
<CommonParameters>
Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.
Input e output
Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.
Input |
Microsoft.PowerShell.Commands.PSSessionConfigurationCommands#PSSessionConfiguration, System.String È possibile reindirizzare un oggetto configurazione di sessione o una stringa che contiene il nome di una configurazione di sessione a Disable-PSSessionConfiguration. |
Output |
Nessuno Questo cmdlet non restituisce alcun oggetto. |
Note
Per eseguire questo cmdlet in Windows Vista, Windows Server 2008 e nelle versioni successive di Windows, è necessario avviare Windows PowerShell con l'opzione "Esegui come amministratore".
Esempio 1
C:\PS>Disable-PSSessionConfiguration
Descrizione
-----------
Con questo comando viene disabilitata la configurazione di sessione Microsoft.PowerShell.
Esempio 2
C:\PS>disable-pssessionConfiguration -name *
Descrizione
-----------
Con questo comando vengono disabilitate tutte le configurazioni di sessione registrate nel computer.
Esempio 3
C:\PS>disable-pssessionConfiguration -name Microsoft* -force
Descrizione
-----------
Con questo comando vengono disabilitate tutte le configurazioni di sessione i cui nomi iniziano con "Microsoft". Il comando utilizza il parametro Force per eliminare tutti i prompt dell'utente dal comando.
Esempio 4
C:\PS>Get-PSSessionConfiguration -name MaintenanceShell, AdminShell | Disable-PSSessionConfiguration
Descrizione
-----------
Con questo comando vengono disabilitate le configurazioni di sessione MaintenanceShell e AdminShell.
Nel comando viene utilizzato un operatore pipeline (|) per inviare i risultati di un comando Get-PSSessionConfiguration a Disable-PSSessionConfiguration.
Esempio 5
C:\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
C:\PS> Disable-PSSessionConfiguration -name MaintenanceShell -force
C:\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
C:\PS> Set-PSSessionConfiguration -name MaintenanceShell -MaximumReceivedDataSizePerCommandMB 60
ParamName ParamValue
--------- ----------
psmaximumreceived... 60
"Restart WinRM service"
WinRM service need to be restarted to make the changes effective. Do you want to run the command "restart-service winrm"?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y
C:\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_Troubl
eshooting Help topic.
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
+ FullyQualifiedErrorId : PSSessionOpenFailed
Descrizione
-----------
In questo esempio viene illustrato l'effetto della disabilitazione di una configurazione di sessione.
Con il primo comando vengono utilizzati i cmdlet Get-SessionConfiguration e Format-Table per visualizzare solo le proprietà Name e Permission degli oggetti configurazione di sessione. Questo formato tabella rende più semplice la visualizzazione dei valori degli oggetti. I risultati mostrano che ai membri del gruppo Administrators è consentito utilizzare le configurazioni di sessione.
Con il secondo comando si utilizza il cmdlet Disable-PSSessionConfiguration per disabilitare la configurazione di sessione MaintenanceShell. Il comando utilizza il parametro Force per eliminare tutti i prompt dell'utente.
Il terzo comando ripete il primo. I risultati mostrano che è ancora possibile ottenere l'oggetto che rappresenta la configurazione di sessione MaintenanceShell anche se l'accesso viene negato a tutti. La voce "AccessDenied" ha la precedenza su tutte le altre voci nel descrittore di sicurezza.
Con il quarto comando si utilizza il cmdlet Set-PSSessionConfiguration per aumentare l'impostazione MaximumDataSizePerCommandMB della configurazione di sessione MaintenanceShell a 60. I risultati mostrano che il comando ha avuto esito positivo anche se l'accesso alla configurazione viene negato a tutti.
Con il quinto comando si tenta di utilizzare la configurazione di sessione MaintenanceShell in una sessione. Vengono utilizzati il cmdlet New-PSSession per creare una nuova sessione e il parametro ConfigurationName per specificare la configurazione MaintenanceShell. I risultati mostrano che il comando New-PSSession ha esito negativo perché all'utente viene negato l'accesso alla configurazione.
Vedere anche
Concetti
about_Session_Configurations
Enable-PSSessionConfiguration
Get-PSSessionConfiguration
Register-PSSessionConfiguration
Set-PSSessionConfiguration
Unregister-PSSessionConfiguration
WSMan Provider