powershell启动程序在远程机器上,webservice接口无法正常工作

时间:2017-02-14 15:37:45

标签: web-services wcf powershell

我有一个远程服务器,我有一个程序(C#,WCF),带有一个web服务接口,我需要从另一台机器启动。目前我在远程机器上有一个powershell脚本:

 Start-Process -WindowStyle Minimized 'path to exe'

如果我在cmd提示符下直接使用以下内容在服务器上启动脚本,则此方法有效。

 Powershell.exe start.ps1

Webservice界面功能齐全。

然而,当我使用

通过powershell远程运行脚本时

Invoke-WmiMethod –class Win32_process -name Create -ArgumentList "powershell.exe c:\Start.ps1" -ComputerName $serverName -credential $Cred

程序在远程计算机上启动,但是webservice接口不起作用?我试图查看wsdl但它没有显示。

从远程调用脚本以使其工作时是否需要添加任何特殊权限或其他内容?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,那么问题在于启动远程服务器上的exe。如果您使用的是WIN2012 R2(或更高版本),则默认情况下应激活Powershell远程处理(如果您使用较旧的WIN版本,请执行一些有关如何激活Powershell远程处理的Google查询)。

通过Powershell远程处理,您可以使用Invoke-Command启动远程控制器上的exe。例如:

Invoke-Command -ComputerName 1.2.3.4 -Credential (Get-Credential) -Scriptblock { Start-Process "your.exe" }

使用Powershell远程处理有一些优点。

  • 通过WSMAN标准化机制使用。
  • 远程处理使用HTTP(S)进行传输。因此,使用防火墙变得更加容易。

希望有所帮助。