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