Impedisce al computer di ricevere comandi remoti di Windows PowerShell.

Sintassi

Disable-PSRemoting [-Force] [-Confirm] [-WhatIf] [<CommonParameters>]

Descrizione

La funzione Disable-PSRemoting disabilita tutte le configurazioni di sessione nel computer locale aggiungendo una voce "deny all" ai descrittori di sicurezza. Ciò impedisce al computer locale di ricevere comandi remoti.

Disable-PSRemoting non provoca l'arresto del servizio Gestione remota Windows e non impedisce agli utenti del computer locale di stabilire sessioni che si connettano a computer remoti o di inviare comandi ad altri computer.

Per abilitare nuovamente le configurazioni di sessione, utilizzare il cmdlet Enable-PSRemoting o Enable-PSSessionConfiguration.

Per eseguire questa funzione in Windows Vista, Windows Server 2008 e nelle versioni successive di Windows, è necessario aprire Windows PowerShell con l'opzione "Esegui come amministratore".

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

-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

Nessuno

Non è possibile reindirizzare l'input a questo cmdlet.

Output

Nessuno

Questo cmdlet non restituisce alcun oggetto.

Note

Una configurazione di sessione è un gruppo di impostazioni che definiscono l'ambiente per una sessione. Le configurazioni di sessione si trovano nel computer remoto e vengono utilizzate dalle sessioni locali e remote che si connettono al computer.

Per ogni sessione che si connette al computer è necessario utilizzare una delle configurazioni di sessione registrate nel computer. Sono incluse le sessioni permanenti create mediante il cmdlet New-PSSession o Enter-PSSession e le sessioni temporanee create da Windows PowerShell quando si utilizza il parametro ComputerName di un cmdlet che utilizza la tecnologia di comunicazione remota di WS-Management, ad esempio Invoke-Command. Negando l'accesso a tutte le configurazioni di sessione, si impedisce a tutti gli utenti di stabilire sessioni che si connettano al computer.

Disable-PSRemoting equivale a "Disable-PSSessionConfiguration -name *.

Esempio 1

C:\PS>disable-psremoting

Descrizione
-----------
Con questo comando vengono disabilitate tutte le configurazioni di sessione nel computer.






Esempio 2

C:\PS>disable-psremoting -force

Descrizione
-----------
Con questo comando vengono disabilitate tutte le configurazioni di sessione nel computer senza chiedere conferma.






Esempio 3

C:\PS>disable-psremoting -force

C:\PS> new-pssession -computername localhost

[localhost] Connecting to remote server failed with the following error
message : Access is denied. For more information, see the about_Remote_Troub
leshooting Help topic.
    + CategoryInfo          : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
    + FullyQualifiedErrorId : PSSessionOpenFailed


C:\PS> new-pssession -computername Server01

 Id Name       ComputerName    State    Configuration         Availability
 -- ----       ------------    -----    -------------         ------------
  1 Session1   Server01...     Opened   Microsoft.PowerShell     Available


C:\PS> enable-pssessionConfiguration -name * -force

C:\PS> new-pssession -computername localhost

 Id Name       ComputerName    State    Configuration         Availability
 -- ----       ------------    -----    -------------         ------------
  1 Session1   localhost       Opened   Microsoft.PowerShell     Available

Descrizione
-----------
In questo esempio viene illustrato l'effetto dell'utilizzo di Disable-PSRemoting.

Con il primo comando si utilizza Disable-PSRemoting per disabilitare tutte le configurazioni di sessione registrate nel computer locale.

Con il secondo comando si utilizza New-PSSession per creare una sessione remota al computer locale (nota anche come "loopback"). Poiché le configurazioni di sessione richieste dalla sessione sono disabilitate, il comando ha esito negativo.

Con il terzo comando si utilizza il cmdlet New-PSSession per creare una sessione dal computer locale al computer remoto Server01. Questo comando, che utilizza le configurazioni di sessione nel computer remoto, ha esito positivo. 

Con il quarto comando si utilizza il cmdlet Enable-PSSessionConfiguration per abilitare nuovamente tutte le configurazioni di sessione nel computer locale. Il comando utilizza un valore di * (tutti) nel parametro Name. 

Con il quinto comando si tenta nuovamente di stabilire una sessione di loopback mediante il cmdlet New-PSSession. Questa volta il comando ha esito positivo, perché le configurazioni di sessione necessarie sono abilitate.






Esempio 4

C:\PS>disable-psremoting -force

C:\PS> get-psSessionConfiguration | format-table -property name, permission -auto

Name                   Permission
----                   ----------
microsoft.powershell   Everyone AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell32 Everyone AccessDenied, BUILTIN\Administrators AccessAllowed

C:\PS> enable-psremoting -force
WinRM already is set up to receive requests on this machine.
WinRM already is set up for remote management on this machine.

C:\PS>> Get-PSSessionConfiguration | ft name, Permission -auto

Name                   Permission
----                   ----------
microsoft.powershell   BUILTIN\Administrators AccessAllowed
microsoft.powershell32 BUILTIN\Administrators AccessAllowed

Descrizione
-----------
In questo esempio viene illustrato l'effetto dell'utilizzo di Disable-PSRemoting e Enable-PSRemoting sulle configurazioni di sessione.

Con il primo comando si utilizza la funzione Disable-PSRemoting per disabilitare tutte le configurazioni di sessione registrate. Il parametro force elimina tutti i prompt dell'utente.

Con il secondo comando si utilizza il cmdlet Get-PSSessionConfiguration per visualizzare le configurazioni di sessione registrate nel computer. Il comando utilizza un operatore pipeline per inviare i risultati a un comando Format-Table che visualizza solo le proprietà Name e Permission delle configurazioni in una tabella.

Nella tabella risultante è indicato che nessuno dispone delle autorizzazioni per le configurazioni.

Con il terzo comando si utilizza il cmdlet Enable-PSRemoting per abilitare nuovamente tutte le configurazioni di sessione nel computer. È inoltre possibile utilizzare un comando "Enable-PsSessionConfiguration -name *". Il comando utilizza il parametro Force per eliminare tutti i prompt dell'utente e riavviare il servizio Gestione remota Windows senza chiedere conferma.

Con il quarto comando si utilizza Get-PSSessionConfiguration e Format-Table per visualizzare i nomi e le autorizzazioni delle configurazioni di sessione. I risultati mostrano che i membri del gruppo Administrators dispongono ora di accesso alle configurazioni di sessione.






Vedere anche




Argomenti della Guida