服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

Powershell:在远程服务器上执行exe并捕获输出

我正在尝试编写远程Web服务器上安装程序的执行脚本。 有问题的安装程序也是托pipeNServiceBus的Windows服务。 如果RDP进入服务器,则通过以下命令安装该应用程序: &“$ theInstaller”/ install / serviceName:TheServiceName 安装程序将输出关于其注册服务的进度以及连接到数据库的stdout到stdout等等。 这从RDP会话正常工作,但是当我通过PS远程执行它时,如果直接执行它或通过Invoke-Command -computername $theRemoteServer执行它,我会得到一个不能通过networking传递的消息: System.IO.FileLoadException:无法加载文件或程序集'file:// \\ theRemoteServer \ c $ \ thePath \ AutoMapper.dll'或其某个依赖项。 操作不受支持。 (来自HRESULT的exception:0x80131515)—> System.NotSupportedException:尝试从networking位置加载程序集,该程序集会导致程序集在以前版本的.NET Framework中被沙盒化。 此版本的.NET Framework默认情况下不启用CAS策略,因此此加载可能很危险。 如果此加载不是为了assembly沙盒,请启用loadFromRemoteSources开关。 有关更多信息,请参阅http://go.microsoft.com/fwlink/?LinkId=155569 。 (注意:为了使它在本网站的预览中正确显示,我在第一行的path中添加了一个额外的“\”。) 这个和其他DLL被服务加载,服务的执行上下文显然不能被重新定义。 我也尝试使用Invoke-WmiMethod ,它做了一些事情 ,但不清楚什么,并从安装程序的输出丢失: Invoke-WMIMethod win32_process create'“$ theInstaller”/ install / serviceName:TheServiceName' – 计算机名$服务器(在intaller引用之前有和没有cmd.exe / k): __GENUS:2 __CLASS:__PARAMETERS __SUPERCLASS: __DYNASTY:__PARAMETERS __RELPATH: __PROPERTY_COUNT:2 __指令:{} __SERVER: […]