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