Ho riscontrato un problema nel tentativo di eseguire alcuni dei nostri script su un server remoto.Come modificare la versione CLR di PowerShell quando si eseguono i comandi da remoto?
Abbiamo bisogno di tutte le sessioni di PowerShell per caricare v4 del CLR, poiché stiamo caricando nei nostri binari personalizzati con i nostri script.
Lo facciamo da un po 'di tempo (lo facciamo usando un powershell.exe.config modificato simile a questo: How can I run PowerShell with the .NET 4 runtime?), e tutto va bene quando si esegue il RDP in "Server1" e si apre una sessione di Powershell. La variabile $ PSVersionTable ci dice che è stato caricato il CLR v4.
Ora che stiamo cercando di semplificare le cose eseguendo questi comandi da remoto ci imbattiamo in nostro problema: quando si entra in una sessione PowerShell remota nel server stesso, $ PSVersionTable mostra solo v2 ...
Così il il problema è che se apri una sessione Powershell locale su Server1 carica v4, ma se esegui il remote da Server2 a Server1, carica solo v2.
Qualcuno sa come dire a Powershell di utilizzare CLR v4 per sessioni remote? Qualsiasi aiuto sarebbe molto apprezzato!
Incredibile, grazie Christian! Per chi lo trova in futuro, è necessario creare questo file in entrambe le posizioni. Dovresti essere sulla buona strada. – Richiban
Il file powershell.exe.config deve essere in due punti .... C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ e C: \ Windows \ SysWOW64 \ WindowsPowerShell \ v1.0 \ – Jonesome