在远程服务器上运行PowerShell脚本时出现以下错误:
Starting the CLR Failed with HRESULT 8007000e
这基本上就是我如何运行/调用脚本:
在本地服务器上,我运行一个CMD脚本,该脚本调用PowerShell脚本来创建到远程服务器的远程会话。在PowerShell脚本中,我还调用CMD脚本在远程服务器上运行,如下所示:
$Script = [scriptblock]::create("cd $BuildPath | cmd.exe /c install.cmd $apptype")
install.cmd脚本在远程服务器上运行,并调用执行一系列任务的PowerShell脚本。
powershell ./Install.ps1 -BuildNum %BUILDNUM%
任务完成后,PowerShell脚本会调用另一个PowerShell脚本来运行一系列单独的任务。这是当我调用第二个PowerShell脚本时遇到上述错误。
这是从第一个PowerShell脚本调用第二个PS1脚本的方法:
powershell "& {. $BinToolsSrc\PostInstallValidation.ps1 -BuildNum $BuildNum -Test 'True'; Run-Validation -App $App -AppLoc $AppLoc -Env $Env:ENV -Site $Site -AppPool $AppPool -Config $Config -EnvConfig $EnvConfig -DllPath $DllPath}"
通常会导致我得到的CLR错误类型以及如何解决?
注意:当我在远程服务器上本地运行安装脚本时,我不会收到此错误。
提前致谢!
更新:在远程服务器上安装PowerShell 3似乎解决了问题,因为它面向.NET 4.0运行时。