2016-08-03 9 views
1

Kann der Windows-Dienst remote auf einem Server installiert werden? Ich versuche, dass mit sc Richtlinie zu tun, sondern gibt mir Fehler:Windows-Dienst auf Remote-Server installieren

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 FAILED 5:

Access is denied.

+0

Sind Sie ein Administrator dieser Maschine? – BugFinder

+0

@BugFinder ja, ich bin Admin –

+0

versuchen, die sc Remote mit sagen psexec – BugFinder

Antwort

0

Sie können eine Verbindung herstellen net use, daß anstelle PS Remote der Verwendung:

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 

Dies setzt voraus, dass Ihre Zielmaschine den Dienst in C hat: \ Benutzer \ Benutzer.

SC.exe wird Ihre svc.exe nicht auf den Zielcomputer kopieren. In meinem Anwendungsfall stelle ich einen Windows-Dienst für eine Farm mit Webboxen bereit. Mein Ziel war es, meinen Dienst in meine bestehende Webbereitstellung mit MSBuild einzubinden. Meine Lösung war:

  • Bereitstellen von Web-Komponenten mit MSBuild/Web Deploy (wie VS Veröffentlichen)
  • Bereitstellen des Service auf die gleiche Weise
    • ich ein Web-Projekt erstellt eine Website, die sich zum Ziel zum Dienst, nur um den Rest meiner MSBuild-Projektdateien zu nutzen.
    • So ich mit meinem Dienst in c Liquidation: \ inetpub \ MyService \ bin

Dann rufe ich:

sc create \\remote_computer_IP "MyService" binpath="C:\inetpub\MyService\bin\MyService.exe" 

Powershell ist genial, aber PS-Remoting kann sein, Probleme beim Umgang mit VPN-Tunnel- und Remote-Serverfarmen.

2

Ja es möglich ist, so mit Powershell zu tun, empfiehlt Microsoft-Implementierungen und Installationen tun mithilfe von Powershell.

[SC] OpenSCManager FAILED 5 bedeutet, dass Sie den Befehl nicht in der Eingabeaufforderung mit erhöhten Rechten ausgeführt haben (dh, wenn Sie über Administratorzugriff verfügen).

Hier ist ein Link, der zeigt, wie Sie einen Windows-Dienst mit Powershell auf einem Remote-Computer bereitstellen.

http://www.ben-morris.com/deploying-a-windows-service-remotely-with-powershell/