8

Ultimamente ho aggiornato un numero di server dal 2003 al 2008R2. Dall'aggiornamento ho iniziato a vedere il seguente errore:remotazione powershell Win2008R2 "Il servizio WSMan non ha potuto avviare un processo host per elaborare la richiesta specificata"

[servername] Connecting to remote server failed with the following error message : The WSMan service could not launch a host process to process the given request. Make sure the WSMan provider host server and proxy are properly registered. For more information, see the about_Remote_Troubleshooting Help topic.

L'errore è apparentemente casuale. Lo script funzionerà e quindi fallirà. Il comando per creare la sessione è in un ciclo (crea sessione, rimuovi sessione) e viene chiamato più volte come parte di un insieme di script di distribuzione. Quando lo script fallisce, fallisce in diversi punti.

Ho controllato il registro eventi sul server di destinazione locale (win7) server di destinazione (win2008R2) ma non ci sono errori che posso vedere.

Questa è la linea che non riesce in modo casuale:

$session = New-PSSession -ComputerName $serverName -Credential $credential

non ho visto questo problema in Win2003. Gli script non sono cambiati. Suppongo che il problema sia sul server di destinazione ma non riesco a trovare errori o registri da esaminare. Funzionerà una volta e poi fallirà, quindi i miei script di distribuzione a volte riusciranno e quindi falliranno in diversi punti.

Qualsiasi consiglio su come rintracciare questo problema sarebbe molto apprezzato.

+0

Hai bisogno di una sessione ogni volta? Non riesci a sopravvivere con il solo invoke-command? –

+0

Ho anche incarnato lo stesso errore, ma in esecuzione con Windows 2012. La mia routine di distribuzione (in C#, utilizzando l'API di PowerShell) ha esito negativo con questo errore ogni tanto. L'unica soluzione per ora è riavviare il server a cui sto tentando di collegarmi (non il server con cui mi sto collegando). Cosa strana, sembra che succeda dopo che il server è stato sotto carico per alcune ore (ad esempio, i server di produzione. I server QA con 1/100 del carico non sono interessati). –

+0

Anche la mancanza di spazio su disco sull'unità di sistema presenta questi sintomi, avevo esaurito lo spazio su C: drive! –

risposta

0

Stai colpendo il numero di limiti dei processi creando pssessioni che si bloccano e lasciando processi aperti?

limite predefinito è 15. Sarei d'accordo con il commento di cui sopra e non usare le sessioni, invece usano richiamare-comando come:

invoke-command -scriptblock $scriptBlock -ArgumentList $args -computername $compName -Credential $encodedRemoteCredentials 

per controllare il vostro limite:

PS C:\aws> ls WSMan:\localhost\Shell 


    WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Shell 

Name      Value 
----      ---- 
MaxProcessesPerShell  15 

Come test rapido e sporco: la prossima volta che la versione pssession dello script fallisce, aumentare il limite maxProcessesPerShell utilizzando il cmdlet set-item su 50 e riprovare. Se lo script non fallisce più, sai che è il problema (e dovresti prendere in considerazione il passaggio a invoke-command!).

Problemi correlati