ARGOMENTO
about_Remote_Troubleshooting
DESCRIZIONE BREVE
Descrive come risolvere i problemi relativi alle operazioni remote
in Windows PowerShell.
DESCRIZIONE DETTAGLIATA
In questa sezione vengono descritti alcuni dei problemi che è
possibile incontrare quando si utilizzano le funzionalità di
comunicazione remota di Windows PowerShell basate sulla tecnologia
WS-Management e vengono suggerite soluzioni per tali problemi.
Prima di utilizzare le funzionalità di comunicazione remota di
Windows PowerShell, vedere about_Remote e about_Remote_Requirements
per istruzioni sulla configurazione e l'utilizzo di base. Consultare
inoltre gli argomenti della Guida per ognuno dei cmdlet di comunicazione remota,
in particolare le descrizioni dei parametri, in cui sono riportate informazioni
specifiche per evitare che si verifichino problemi.
Le versioni aggiornate di questo argomento e di altri argomenti
della Guida di Windows PowerShell, sono disponibili online nella
Microsoft Technet Library. Per visualizzare la versione online di questo
argomento della Guida, incollare l'URL seguente nel browser Internet:
https://go.microsoft.com/fwlink/?LinkID=135188
NOTA: in Windows Vista, Windows Server 2008 e nelle versioni
successive di Windows, per visualizzare o modificare le
impostazioni per il computer locale nell'unità WSMan, comprese
le modifiche alle configurazioni di sessione, agli host
attendibili, alle porte o ai listener, avviare Windows
PowerShell con l'opzione "Esegui come amministratore".
RISOLUZIONE DEI PROBLEMI RELATIVI AD AUTORIZZAZIONI E AUTENTICAZIONE
In questa sezione vengono illustrati problemi di comunicazione
remota correlati alle autorizzazioni per utenti e computer e ai
requisiti di comunicazione remota.
MODALITÀ DI ESECUZIONE COME AMMINISTRATORE
---------------------------
ERRORE: Accesso negato. È necessario eseguire il cmdlet da un
processo con privilegi elevati.
Per avviare una sessione remota nel computer locale o per
visualizzare o modificare le impostazioni per il computer locale
nell'unità WSMan, comprese le modifiche alle configurazioni di
sessione, agli host attendibili, alle porte o ai listener,
avviare Windows PowerShell con l'opzione "Esegui come amministratore".
Per avviare Windows PowerShell con l'opzione "Esegui come amministratore":
-- Fare clic con il pulsante destro del mouse sull'icona di
Windows PowerShell (o Windows PowerShell ISE), quindi scegliere
"Esegui come amministratore".
Per avviare Windows PowerShell con l'opzione "Esegui come
amministratore" in Windows 7 e Windows Server 2008 R2:
-- Nella barra delle applicazioni di Windows fare clic con il
pulsante destro del mouse sull'icona di Windows PowerShell,
quindi scegliere "Esegui Windows PowerShell come amministratore".
Nota: per impostazione predefinita, in Windows Server 2008 R2
l'icona di Windows PowerShell è bloccata sulla barra delle applicazioni.
MODALITÀ DI ABILITAZIONE DELLA COMUNICAZIONE REMOTA
----------------------
ERRORE: ACCESSO NEGATO
oppure
ERRORE: La connessione all'host remoto è stata rifiutata.
Verificare che il servizio WS-Management sia in esecuzione
nell'host remoto e configurato per l'ascolto delle richieste
sulla porta e sull'URL HTTP corretti.
Per abilitare un computer per l'invio di comandi remoti, non è
necessaria alcuna configurazione, mentre è necessario
configurare il computer remoto per la ricezione di comandi
remoti. La configurazione include l'avvio del servizio Gestione
remota Windows, l'impostazione del tipo di avvio per il servizio
Gestione remota Windows su Automatico, la creazione di listener
per connessioni HTTP e HTTPS e la creazione di configurazioni
di sessione predefinite.
Per configurare un computer per la ricezione di comandi remoti,
utilizzare il cmdlet Enable-PSRemoting. Nel comando seguente
vengono abilitate tutte le impostazioni remote necessarie e le
configurazioni di sessione e viene riavviato il servizio
Gestione remota Windows per rendere effettive le modifiche.
enable-psremoting
Per eliminare tutti i prompt dell'utente, digitare:
enable-psremoting -force
Per ulteriori informazioni, vedere Enable-PSRemoting.
MODALITÀ DI ABILITAZIONE DELLA COMUNICAZIONE REMOTA IN UN'ORGANIZZAZIONE
---------------------------------------
ERRORE: ACCESSO NEGATO
oppure
ERRORE: La connessione all'host remoto è stata rifiutata.
Verificare che il servizio WS-Management sia in esecuzione
nell'host remoto e configurato per l'ascolto delle richieste
sulla porta e sull'URL HTTP corretti.
Per abilitare un singolo computer affinché riceva comandi di Windows PowerShell
remoti e accetti le connessioni, utilizzare i cmdlet Enable-PSRemoting.
Per abilitare la comunicazione remota per più computer in un'organizzazione, è
possibile utilizzare le opzioni semplificate seguenti.
-- Per configurare listener per la comunicazione remota, abilitare
il Criterio di gruppo "Consenti configurazione automatica dei
listener". Per istruzioni, vedere "Modalità di abilitazione dei
listener tramite Criteri di gruppo" (di seguito).
-- Per impostare il tipo di avvio di Gestione remota Windows su
Automatico in più computer, utilizzare il cmdlet Set-Service.
Per le istruzioni, vedere "Modalità di impostazione del tipo di
avvio del servizio Gestione remota Windows" (di seguito).
-- Per abilitare un'eccezione del firewall, utilizzare il Criterio
di gruppo "Windows Firewall: consenti eccezioni porte locali".
Per istruzioni, vedere "Modalità di creazione di un'eccezione
del firewall tramite Criteri di gruppo" (di seguito).
MODALITÀ DI ABILITAZIONE DEI LISTENER TRAMITE CRITERI DI GRUPPO
------------------------------------------------
ERRORE: ACCESSO NEGATO
oppure
ERRORE: La connessione all'host remoto è stata rifiutata.
Verificare che il servizio WS-Management sia in esecuzione
nell'host remoto e configurato per l'ascolto delle richieste
sulla porta e sull'URL HTTP corretti.
Per configurare i listener per tutti i computer in un dominio,
abilitare il criterio "Consenti configurazione automatica dei
listener" nel percorso di Criterio di gruppo seguente:
Configurazione computer\Modelli amministrativi\Componenti di Windows
\Gestione remota Windows\Servizio WinRM
Abilitare il criterio e specificare i filtri IPv4 e IPv6. È consentito
l'utilizzo di caratteri jolly (*).
MODALITÀ DI ABILITAZIONE DI UN'ECCEZIONE DEL FIREWALL TRAMITE CRITERI DI GRUPPO
-------------------------------------------------------------------------------
ERRORE: ACCESSO NEGATO
oppure
ERRORE: La connessione all'host remoto è stata rifiutata.
Verificare che il servizio WS-Management sia in esecuzione
nell'host remoto e configurato per l'ascolto delle richieste
sulla porta e sull'URL HTTP corretti.
Per abilitare un'eccezione del firewall in tutti i computer di un
dominio, abilitare il criterio "Windows Firewall: consenti eccezioni porte locali"
nel percorso di Criteri di gruppo seguente:
Configurazione computer\Modelli amministrativi\Rete
\Connessioni di rete\Windows Firewall\Profilo di dominio
Questo criterio consente ai membri del gruppo Administrators del computer di
utilizzare Windows Firewall nel Pannello di controllo per creare un'eccezione
del firewall per il servizio Gestione remota Windows.
MODALITÀ DI IMPOSTAZIONE DEL TIPO DI AVVIO DEL SERVIZIO GESTIONE REMOTA WINDOWS
-------------------------------------------------------------------------------
ERRORE: ACCESSO NEGATO
La funzionalità di comunicazione remota di Windows PowerShell
dipende dal servizio Gestione remota Windows. Per supportare i
comandi remoti, il servizio deve essere in esecuzione.
In Windows Server 2003, Windows Server 2008 e Windows Server 2008 R2,
il tipo di avvio del servizio Gestione remota Windows è Automatico.
Tuttavia, in Windows XP, Windows Vista e Windows 7, il servizio
Gestione remota Windows è disabilitato per impostazione predefinita.
Per impostare il tipo di avvio di un servizio in un computer
remoto, utilizzare il cmdlet Set-Service.
Per eseguire il comando in più computer, è possibile creare un
file di testo o un file CSV con i nomi dei computer.
Ad esempio, nei comandi seguenti viene ottenuto un elenco di nomi
dei computer dal file Servers.txt, quindi viene impostato il tipo di
avvio del servizio Gestione remota Windows su Automatico in tutti i computer.
C:\PS> $servers = get-content servers.txt
C:\PS> set-service WinRM -computername $servers -startuptype Automatic
Per visualizzare i risultati, utilizzare il cmdlet Get-WMIObject con l'oggetto
Win32_Service. Per ulteriori informazioni, vedere Set-Service.
MODALITÀ DI RICREAZIONE DELLE CONFIGURAZIONI DI SESSIONE PREDEFINITE
--------------------------------------------------------------------
ERRORE: ACCESSO NEGATO
Per connettersi al computer locale ed eseguire i comandi in modalità remota,
nel computer devono essere incluse configurazioni di sessione per comandi remoti.
Quando si utilizza Enable-PSRemoting, vengono create configurazioni di sessione
predefinite nel computer locale. Gli utenti remoti utilizzano queste configurazioni
di sessione ogni volta che un comando remoto non include il parametro ConfigurationName.
Se viene annullata la registrazione delle configurazioni
predefinite in un computer o se queste vengono eliminate,
utilizzare il cmdlet Enable-PSRemoting per ricrearle. È
possibile utilizzare ripetutamente questo cmdlet. Se una
funzionalità è già configurata, non vengono generati errori.
Se si modificano le configurazioni di sessione predefinite e si
desidera ripristinare quelle originali, utilizzare il
cmdlet Unregister-PSSessionConfiguration per eliminare le
configurazioni di sessione modificate e successivamente il
cmdlet Enable-PSRemoting per ripristinarle. Enable-PSRemoting
non modifica le configurazioni di sessione esistenti.
Nota: quando Enable-PSRemoting ripristina la configurazione di
sessione predefinita, non crea descrittori di sicurezza
espliciti per le configurazioni. Al contrario, le configurazioni
ereditano il descrittore di sicurezza di RootSDDL, protetto per
impostazione predefinita.
Per visualizzare il descrittore di sicurezza RootSDDL, digitare:
get-item wsman:\localhost\Service\RootSDDL
Per modificare RootSDDL, utilizzare il cmdlet Set-Item nell'unità WSMan.
Per modificare il descrittore di sicurezza di una configurazione di sessione,
utilizzare il cmdlet Set-PSSessionConfiguration con i parametri
SecurityDescriptorSDDL o ShowSecurityDescriptorUI.
Per ulteriori informazioni sull'unità WSMan, vedere l'argomento
della Guida relativo al provider di WS-Management ("get-help wsman").
MODALITÀ DI SPECIFICA DELLE CREDENZIALI DELL'AMMINISTRATORE
-----------------------------------------------------------
ERRORE: ACCESSO NEGATO
Per impostazione predefinita, per creare una sessione PSSession o
eseguire comandi in un computer remoto, l'utente corrente deve
essere membro del gruppo Administrators nel computer remoto. Le
credenziali sono talvolta necessarie anche quando l'utente corrente
ha effettuato l'accesso a un account membro del gruppo Administrators.
Se l'utente corrente è membro del gruppo Administrators nel
computer remoto o è in grado di specificare le credenziali di
un membro di tale gruppo, utilizzare il parametro Credential del
cmdlet New-PSSession, Enter-PSSession o Invoke-Command per
connettersi in modalità remota.
Ad esempio, nel comando seguente vengono specificate le
credenziali di un amministratore.
Invoke-Command -ComputerName Server01 -Credential Domain01\Admin01
Per ulteriori informazioni sul parametro Credential, vedere
New-PSSession, Enter-PSSession o Invoke-Command.
MODALITÀ DI ABILITAZIONE DELLA FUNZIONALITÀ DI COMUNICAZIONE
REMOTA PER UTENTI SENZA PRIVILEGI DI AMMINISTRATORE
------------------------------------------------------------
ERRORE: ACCESSO NEGATO
Per stabilire una sessione PSSession o eseguire un comando in un
computer remoto, l'utente deve disporre dell'autorizzazione per
l'utilizzo delle configurazioni di sessione nel computer remoto.
Per impostazione predefinita, solo i membri del gruppo
Administrators di un computer dispongono dell'autorizzazione per
l'utilizzo delle configurazioni di sessione predefinite. Di
conseguenza, solo i membri del gruppo Administrators possono
connettersi al computer in modalità remota.
Per consentire agli altri utenti di connettersi al computer
locale, fornire loro le autorizzazioni Execute per le
configurazioni di sessione predefinite nel computer locale.
Il comando seguente consente di aprire una finestra delle
proprietà in cui è possibile modificare il descrittore di
sicurezza della configurazione di sessione predefinita Microsoft.PowerShell
nel computer locale.
Set-PSSessionConfiguration Microsoft.Powershell -ShowSecurityDescriptorUI
Per ulteriori informazioni, vedere about_Session_Configurations.
MODALITÀ DI ABILITAZIONE DELLA FUNZIONALITÀ DI COMUNICAZIONE
REMOTA PER GLI AMMINISTRATORI DI ALTRI DOMINI
------------------------------------------------------------
ERRORE: ACCESSO NEGATO
Quando un utente in un altro dominio è membro del gruppo Administrators nel
computer locale, l'utente non può connettersi al computer locale in modalità
remota con privilegi di amministratore. Per impostazione predefinita, le
connessioni remote da altri domini vengono eseguite solo con token di
privilegi di utente standard.
Tuttavia, è possibile utilizzare la voce del Registro di sistema
LocalAccountTokenFilterPolicy per modificare il comportamento predefinito
e consentire l'esecuzione con privilegi di amministratore da parte di utenti
remoti membri del gruppo Administrators.
Attenzione: la voce LocalAccountTokenFilterPolicy disabilita le
limitazioni remote relative al controllo dell'account utente per
tutti gli utenti di tutti i computer interessati. Considerare
attentamente le implicazioni di questa impostazione prima di
modificare il criterio.
Per modificare il criterio, utilizzare il comando seguente per
impostare il valore della voce del Registro di sistema
LocalAccountTokenFilterPolicy su 1.
C:\PS> new-itemproperty -name LocalAccountTokenFilterPolicy -path `
HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
-propertyType `DWord -value 1
MODALITÀ DI UTILIZZO DI UN INDIRIZZO IP IN UN COMANDO REMOTO
-----------------------------------------------------
ERRORE: Client Gestione remota Windows: impossibile elaborare
la richiesta. Se lo schema di autenticazione è diverso
da Kerberos o se il computer client non è associato a
un dominio, è necessario utilizzare il trasporto HTTPS
oppure aggiungere il computer di destinazione all'impostazione di
configurazione TrustedHosts.
I parametri ComputerName dei cmdlet New-PSSession, Enter-PSSession
e Invoke-Command accettano un indirizzo IP come valore valido.
Tuttavia, poiché l'autenticazione Kerberos non supporta gli indirizzi IP,
per impostazione predefinita, viene utilizzata l'autenticazione NTLM
quando si specifica un indirizzo IP.
In caso di utilizzo dell'autenticazione NTLM, per la funzionalità
di comunicazione remota è richiesta la procedura riportata di seguito.
1. Configurare il computer per il trasporto HTTPS o aggiungere gli
indirizzi IP dei computer remoti all'elenco TrustedHosts
nel computer locale.
Per istruzioni, vedere "Modalità di aggiunta di un computer
all'elenco TrustedHosts" (di seguito).
2. Utilizzare il parametro Credential in tutti i comandi remoti.
Questo parametro è richiesto anche quando si inviano le
credenziali dell'utente corrente.
MODALITÀ DI CONNESSIONE IN MODALITÀ REMOTA DA UN COMPUTER BASATO
SU UN GRUPPO DI LAVORO
-------------------------------------------------------
ERRORE: Client Gestione remota Windows: impossibile elaborare
la richiesta. Se lo schema di autenticazione è diverso
da Kerberos o se il computer client non è associato a
un dominio, è necessario utilizzare il trasporto HTTPS
oppure aggiungere il computer di destinazione all'impostazione di
configurazione TrustedHosts.
Quando il computer locale non si trova in un dominio, per la
funzionalità di comunicazione remota è richiesta la procedura
riportata di seguito.
1. Configurare il computer per il trasporto HTTPS o aggiungere i
nomi dei computer remoti all'elenco TrustedHosts nel computer locale.
Per istruzioni, vedere "Modalità di aggiunta di un computer
all'elenco TrustedHosts" (di seguito).
2. Verificare che nel computer basato su un gruppo di lavoro sia
impostata una password. Se non è impostata una password o se il valore
della password è vuoto, non è possibile eseguire comandi remoti.
Per impostare una password per l'account utente, utilizzare
Account utente nel Pannello di controllo.
3. Utilizzare il parametro Credential in tutti i comandi remoti.
Questo parametro è richiesto anche quando si inviano le
credenziali dell'utente corrente.
MODALITÀ DI AGGIUNTA DI UN COMPUTER ALL'ELENCO DI HOST ATTENDIBILI
------------------------------------------------------------------
L'elemento TrustedHosts può contenere un elenco di nomi di
computer, indirizzi IP e nomi di dominio completi delimitato da
virgole. È consentito l'utilizzo di caratteri jolly.
Per visualizzare o modificare l'elenco degli host attendibili,
utilizzare l'unità WSMan. L'elemento TrustedHost si trova nel
nodo WSMan:\localhost\Client.
Solo i membri del gruppo Administrators del computer dispongono dell'autorizzazione
per la modifica dell'elenco di host attendibili nel computer.
Attenzione: il valore che si imposta per l'elemento TrustedHosts
influisce su tutti gli utenti del computer.
Per visualizzare l'elenco di host attendibili, utilizzare il comando seguente:
get-item wsman:\localhost\Client\TrustedHosts
È possibile utilizzare anche il cmdlet Set-Location (alias = cd) per spostarsi
nell'unità WSMan fino al percorso. Ad esempio: "cd WSMan:\localhost\Client; dir".
Per aggiungere tutti i computer all'elenco di host attendibili,
utilizzare il comando seguente, che inserisce un valore * (tutto) in ComputerName
set-item wsman:localhost\client\trustedhosts -value *
Per aggiungere tutti i computer di un determinato dominio
all'elenco di host attendibili, è possibile utilizzare anche un
carattere jolly (*). Ad esempio, con il comando seguente tutti
i computer del dominio Fabrikam vengono aggiunti all'elenco di
host attendibili.
set-item wsman:localhost\client\trustedhosts *.fabrikam.com
Per aggiungere i nomi di determinati computer all'elenco di host
attendibili, utilizzare il formato di comando seguente:
set-item wsman:\localhost\Client\TrustedHosts -value <NomeComputer>[,<NomeComputer>]
dove ogni valore <NomeComputer> deve presentare il formato seguente:
<Computer>.<Dominio>.<Società>.<dominio-primo-livello>
Ad esempio:
set-item wsman:\localhost\Client\TrustedHosts -value Server01.Domain01.Fabrikam.com
Per aggiungere un nome computer a un elenco esistente di host
attendibili, salvare innanzitutto il valore corrente in una
variabile, quindi impostare il valore su un elenco delimitato
da virgole che include i valori correnti e quelli nuovi.
Ad esempio, per aggiungere il computer Server01 a un elenco
esistente di host attendibili, utilizzare il comando seguente.
$curValue = (get-item wsman:\localhost\Client\TrustedHosts).value
set-item wsman:\localhost\Client\TrustedHosts -value "$curValue, Server01.Domain01.Fabrikam.com"
Per aggiungere gli indirizzi IP di determinati computer all'elenco
di host attendibili, utilizzare il formato di comando seguente:
set-item wsman:\localhost\Client\TrustedHosts -value <Indirizzo IP>
Ad esempio:
set-item wsman:\localhost\Client\TrustedHosts -value 172.16.0.0
Per aggiungere un computer all'elenco TrustedHosts di un computer
remoto, utilizzare il cmdlet Connect-WSMan per aggiungere un
nodo per il computer remoto all'unità WSMan nel computer locale.
Successivamente utilizzare un comando Set-Item per aggiungere il computer.
Per ulteriori informazioni sul cmdlet Connect-WSMan, vedere Connect-WSMan.
RISOLUZIONE DEI PROBLEMI DI CONFIGURAZIONE DEI COMPUTER
In questa sezione vengono illustrati problemi di comunicazione
remota correlati a determinate configurazioni di un computer,
un dominio o un'organizzazione.
MODALITÀ DI CONFIGURAZIONE DELLA FUNZIONALITÀ DI COMUNICAZIONE
REMOTA SU PORTE ALTERNATIVE
--------------------------------------------------------------
ERRORE: La connessione all'host remoto specificato è stata
rifiutata. Verificare che il servizio WS-Management sia
in esecuzione nell'host remoto e configurato per l'ascolto
delle richieste sulla porta e sull'URL HTTP corretti.
Per impostazione predefinita, la funzionalità di comunicazione
remota di Windows PowerShell utilizza la porta 80 per il
trasporto HTTP. La porta predefinita viene utilizzata ogni volta
che l'utente non specifica i parametri ConnectionURI o Port in
un comando remoto.
Per modificare la porta predefinita impostata in Windows
PowerShell, utilizzare il cmdlet Set-Item nell'unità WSMan per
modificare il valore Port nel nodo foglia del listener.
Ad esempio, il comando seguente consente di impostare la porta
predefinita su 8080.
set-item wsman:\localhost\listener\listener*\port -value 8080
MODALITÀ DI CONFIGURAZIONE DELLA FUNZIONALITÀ DI COMUNICAZIONE
REMOTA CON UN SERVER PROXY
--------------------------------------------------------------
ERRORE: Il client non è in grado di connettersi alla
destinazione specificata nella richiesta. Verificare che
il servizio sulla destinazione sia in esecuzione e accetti
le richieste.
Poiché la funzionalità di comunicazione remota di Windows
PowerShell utilizza il protocollo HTTP, è influenzata dalle
impostazioni proxy HTTP. In organizzazioni che dispongono di
server proxy, gli utenti non possono accedere direttamente a un
computer remoto di Windows PowerShell.
Per risolvere questo problema, utilizzare opzioni delle
impostazioni proxy nel comando remoto. Sono disponibili le
seguenti impostazioni:
-- ProxyAccessType
-- ProxyAuthentication
-- ProxyCredential
Per impostare queste opzioni per un determinato comando,
utilizzare la procedura riportata di seguito:
1. Utilizzare i parametri ProxyAccessType, ProxyAuthentication
e ProxyCredential del cmdlet New-PSSessionOption
per creare un oggetto opzione di sessione con le
impostazioni proxy per l'organizzazione. Salvare
l'oggetto opzione in una variabile.
2. Utilizzare la variabile che contiene l'oggetto opzione come
valore del parametro SessionOption di un comando
New-PSSession, Enter-PSSession o Invoke-Command.
Ad esempio, nel comando seguente viene creato un oggetto opzione
di sessione con opzioni di sessione proxy, quindi l'oggetto
viene utilizzato per creare una sessione remota.
C:\PS> $SessionOption = New-PSSessionOption -ProxyAccessType IEConfig
-ProxyAuthentication Negotiate -ProxyCredential Domain01\User01
C:\PS> New-PSSession -ConnectionURI https://www.fabrikam.com
Per ulteriori informazioni sul cmdlet New-PSSessionOption, vedere
New-PSSessionOption.
Per impostare queste opzioni per tutti i comandi remoti della
sessione corrente, utilizzare l'oggetto opzione creato da New-PSSessionOption
nel valore della variabile di preferenza $PSSessionOption. Per ulteriori
informazioni sulla variabile di preferenza $PSSessionOption, vedere
about_Preference_Variables.
Per impostare queste opzioni per tutti i comandi remoti di tutte
le sessioni di Windows PowerShell nel computer locale,
aggiungere la variabile di preferenza $PSSessionOption al
profilo di Windows PowerShell. Per ulteriori informazioni sui
profili di Windows PowerShell, vedere about_Profiles.
MODALITÀ DI RILEVAMENTO DI UNA SESSIONE A 32 BIT IN UN COMPUTER A 64 BIT
------------------------------------------------------------------------
ERRORE: Termine "<nome-strumento>" non riconosciuto come nome
di cmdlet, funzione, programma eseguibile o file script.
Controllare l'ortografia del nome o verificare che il
percorso sia incluso e corretto, quindi riprovare.
Se nel computer remoto è in esecuzione una versione di Windows a
64 bit e il comando remoto utilizza una configurazione di
sessione a 32 bit, ad esempio Microsoft.PowerShell32, in
Gestione remota Windows viene caricato un processo WOW64 e
Windows reindirizza automaticamente tutti i riferimenti della
directory %Windir%\System32 alla directory %windir%\SysWOW64.
Di conseguenza, se nella directory System32 si tenta di utilizzare
strumenti che non hanno corrispondenti nella directory SysWow64, ad esempio
Defrag.exe, non sarà possibile trovare tali strumenti nella directory.
Per trovare l'architettura del processore in uso nella sessione,
utilizzare il valore della variabile di ambiente PROCESSOR_ARCHITECTURE.
Nel comando seguente viene rilevata l'architettura del processore
della sessione nella variabile $s.
C:\PS> $s = new-pssession -computername Server01 -configurationName CustomShell
C:\PS> invoke-command -session $s {$env:PROCESSOR_ARCHITECTURE} x86
Per ulteriori informazioni sulle configurazioni di sessione,
vedere about_session_configurations.
RISOLUZIONE DEI PROBLEMI RELATIVI A CRITERI E PREFERENZE
In questa sezione vengono illustrati problemi di comunicazione remota correlati
a criteri e preferenze impostati nei computer locali e remoti.
MODALITÀ DI MODIFICA DEI CRITERI DI ESECUZIONE PER IMPORT
-PSSESSION E IMPORT-MODULE
---------------------------------------------------------
ERRORE: Import-Module: Impossibile caricare il file <nomefile>.
L'esecuzione di script è disattivata nel sistema corrente.
I cmdlet Import-PSSession ed Export-PSSession creano moduli che
contengono file di script e file di formattazione non firmati.
Per importare i moduli creati da questi cmdlet, tramite Import-PSSession
o Import-Module, i criteri di esecuzione nella sessione corrente non
possono essere Restricted o AllSigned. Per ulteriori informazioni sui criteri
di esecuzione di Windows PowerShell, vedere about_Execution_Policies.
Per importare i moduli senza modificare i criteri di esecuzione
per il computer locale impostati nel Registro di sistema,
utilizzare il parametro Scope di Set-ExecutionPolicy per impostare
criteri di esecuzione meno restrittivi per un singolo processo.
Ad esempio, nel comando seguente viene avviato un processo con
criteri di esecuzione RemoteSigned. La modifica dei criteri di
esecuzione influisce solo sul processo corrente e non modifica
l'impostazione del Registro di sistema ExecutionPolicy di Windows PowerShell.
set-executionpolicy -scope process -executionpolicy RemoteSigned
È inoltre possibile utilizzare il parametro ExecutionPolicy
di PowerShell.exe per avviare una sessione unica con criteri di
esecuzione meno restrittivi.
powershell.exe -executionpolicy RemoteSigned
Per ulteriori informazioni sui cmdlet, vedere Import-PSSession, Export-PSSession
e Import-Module. Per ulteriori informazioni sui criteri di esecuzione,
vedere about_Execution_Policies. Per ulteriori informazioni sulle opzioni relative
alla Guida della console PowerShell.exe, digitare "powershell.exe -?".
MODALITÀ DI IMPOSTAZIONE E MODIFICA DELLE QUOTE
-----------------------------------------------
ERRORE: La quantità totale di dati ricevuti dal client remoto
supera il valore massimo consentito.
È possibile utilizzare quote per proteggere il computer locale e il computer
remoto da un utilizzo eccessivo delle risorse, sia fortuito che dannoso.
Le quote seguenti sono disponibili nella configurazione di base.
-- Il provider di WS-Management (WSMan:) fornisce diverse
impostazioni delle quote, ad esempio le impostazioni MaxEnvelopeSizeKB
e MaxProviderRequests nel nodo WSMan:\<NomeComputer> e le
impostazioni MaxConcurrentOperations, MaxConcurrentOperationsPerUser
e MaxConnections nel nodo WSMan:\<NomeComputer>\Service.
-- È possibile proteggere il computer locale tramite i
parametri MaximumReceivedDataSizePerCommandMB e
MaximumReceivedObjectSizeMB del cmdlet New-PSSessionOption e la
variabile di preferenza $PSSessionOption.
-- È possibile proteggere il computer remoto aggiungendo
restrizioni alle configurazioni di sessione, ad esempio tramite
i parametri MaximumReceivedDataSizePerCommandMB e
MaximumReceivedObjectSizeMB del cmdlet Register-PSSessionConfiguration.
Quando le quote creano conflitti con un comando, Windows PowerShell genera un errore.
Per risolvere l'errore, modificare il comando remoto affinché sia
conforme alla quota oppure determinare l'origine della quota e
aumentare quest'ultima per consentire il completamento del comando.
Ad esempio, nel comando seguente la quota delle dimensione degli
oggetti nella configurazione di sessione Microsoft.PowerShell
nel computer remoto viene aumentata da 10 MB (valore predefinito) a 11 Mb.
Set-PSSessionConfiguration -name microsoft.powershell `
-MaximumReceivedObjectSizeMB 11 -Force
Per ulteriori informazioni sul cmdlet New-PSSsessionOption, vedere
New-PSSessionOption.
Per ulteriori informazioni sulle quote di WS-Management, vedere
l'argomento della Guida relativo al provider di WS-Management
(digitare "get-help WSMan").
MODALITÀ DI RISOLUZIONE DEGLI ERRORI DI TIMEOUT
-----------------------------------------------
ERRORE: Servizio WS-Management: impossibile completare
l'operazione entro il tempo specificato in OperationTimeout.
È possibile utilizzare timeout per proteggere il computer locale e
il computer remoto da un utilizzo eccessivo delle risorse, sia
fortuito che dannoso. Quando i timeout sono impostati nel
computer locale e in quello remoto, Windows PowerShell utilizza
le impostazioni di timeout più brevi.
I timeout seguenti sono disponibili nella configurazione di base.
-- Il provider di WS-Management (WSMan:) fornisce diverse
impostazioni di timeout lato client e lato servizio, ad esempio
l'impostazione MaxTimeoutms nel nodo WSMan:\<NomeComputer> e le
impostazioni EnumerationTimeoutms e MaxPacketRetrievalTimeSeconds nel nodo
WSMan:\<NomeComputer>\Service.
-- È possibile proteggere il computer locale tramite i parametri
CancelTimeout, IdleTimeout, OpenTimeout e OperationTimeout del
cmdlet New-PSSessionOption e la variabile di preferenza $PSSessionOption.
-- È possibile proteggere anche il computer remoto impostando
valori di timeout a livello di codice nella configurazione di
sessione.
Quando un valore di timeout non consente il completamento di un'operazione,
Windows PowerShell termina l'operazione e genera un errore.
Per risolvere l'errore, modificare il comando affinché venga
completato nell'intervallo di timeout o determinare l'origine
del limite di timeout e aumentare l'intervallo per consentire
il completamento del comando.
Ad esempio, nei seguenti comandi viene utilizzato il cmdlet
New-PSSessionOption per creare un oggetto opzione di sessione con
un valore OperationTimeout pari a 4 minuti (in ms) e successivamente
tale oggetto viene utilizzato per creare una sessione remota.
C:\PS> $pso = new-pssessionoption -operationtimeout 240000
C:\PS> new-pssession -computername Server01 -sessionOption $pso
Per ulteriori informazioni sui timeout di WS-Management, vedere
l'argomento della Guida relativo al provider di WS-Management
(digitare "get-help WSMan").
Per ulteriori informazioni sul cmdlet New-PSSsessionOption, vedere
New-PSSessionOption.
RISOLUZIONE DEI PROBLEMI IN CASO DI MANCATA RISPOSTA
In questa sezione vengono illustrati problemi di comunicazione remota
che impediscono il completamento di un comando e impediscono o
ritardano la visualizzazione del prompt di Windows PowerShell.
MODALITÀ DI INTERRUZIONE DI UN COMANDO
--------------------------
Alcuni programmi nativi di Windows, ad esempio i programmi con
un'interfaccia utente, le applicazioni console che richiedono
input e le applicazioni console che utilizzano l'API della
console Win32, non funzionano correttamente nell'host remoto di
Windows PowerShell.
Quando si utilizzano questi programmi, è possibile rilevare un
comportamento imprevisto, come assenza di output, output
parziale o il mancato completamento di un comando remoto.
Per terminare un programma che non risponde, digitare CTRL + C.
Per visualizzare gli eventuali errori segnalati, digitare
"$error" nell'host locale e nella sessione remota.
VEDERE ANCHE
Versione online: https://go.microsoft.com/fwlink/?LinkID=135188
about_remote
about_remote_requirements