是否可以远程在服务器上安装Windows服务?我试图用sc指令做到这一点但是给了我错误:
sc \\remote_computer_IP create svc binPath="C:\Users\User\Documents\Visual Studio 2015\Projects\svc\svc\bin\Release\svc.exe" start= auto obj= "DOMAIN\usr" password= pass
[SC] OpenSCManager失败5:
访问被拒绝。
答案 0 :(得分:2)
是的,可以使用PowerShell执行此操作,Microsoft建议使用PowerShell进行部署和安装。
[SC] OpenSCManager FAILED 5 表示您没有在提升的命令提示符下运行该命令(即如果您具有管理员访问权限)。
这是一个链接,向您展示如何使用PowerShell将Windows服务部署到远程计算机。
http://www.ben-morris.com/deploying-a-windows-service-remotely-with-powershell/
答案 1 :(得分:1)
您可以使用net use
建立连接,而不是使用PS远程处理:
net use "\\remote_computer_IP\c$" "[PASSWORD]" /USER:"[USERNAME]" /persistent:no
sc \\remote_computer_IP create svc binPath="C:\Users\User\Documents\Visual Studio 2015\Projects\svc\svc\bin\Release\svc.exe" start= auto obj= "DOMAIN\usr" password= pass
net use "\\$ComputerName\c$" /USER:"$Username" /delete
这假设您的目标计算机的服务位于c:\ users \ user。
SC.exe不会将svc.exe复制到目标计算机。在我的用例中,我正在将一个Windows服务部署到一个Web服务器场,我的目标是使用MSBuild将我的服务包含在我现有的Web部署中。我的解决方案是:
然后我打电话给:
sc create \\remote_computer_IP "MyService" binpath="C:\inetpub\MyService\bin\MyService.exe"
Powershell非常棒,但在处理VPN隧道和远程服务器场时,PS远程处理会很麻烦。