Windows-Batchdatei: Führen Sie die EXE-Datei auf dem Server mit "Als anderen Benutzer ausführen" aus.

1523
Mr.B

Ich möchte eine Batch-Datei erstellen, um den Neustart der .exe-Datei von CruiseControl.Net auf einem Server auszuführen. Es gibt zwei Komplikationen:

  • Zunächst muss ich remote auf den Server zugreifen
  • Zweitens muss ich die .exe unter "Einen anderen Benutzer ausführen" ausführen.

Ich habe einige Beispiele gesehen, die PSEXEC verwenden, um eine Verbindung zum Server herzustellen. Hier wird jedoch die Bat-Datei mit den Anmeldeinformationen für die Serververbindung ausgeführt, wobei das Exe nicht als anderer Benutzer ausgeführt wird.

Zum Beispiel stellen Sie sich die jeweiligen Teile wie folgt vor:

  • Servername: "Test-Server-01"
  • Server Benutzername: "Benutzer1"
  • Server Passwort: "Passwort1"

  • Exe-Verzeichnis: "Test-Server-01 \ d $ \ CC.exe"

  • exe Benutzername: "Benutzer"

Beispiel:

\\\Test-Server-01 -c test.bat -u User1 -p Password1 

Dies führt "test.bat" auf dem Server "Test-Server-01" mit dem Benutzernamen und dem Kennwort des Servers aus. Ich muss das dann erweitern, um die Anwendung unter "Als anderen Benutzer ausführen" auszuführen.

Frage: Wie kann ich dieses Ergebnis erreichen?

Ich arbeite derzeit rückwärts, indem ich mit "Als anderer Benutzer ausführen" beginne und diese bat-Datei auf dem Server ausführte. Dadurch wird die ccnet.exe ordnungsgemäß in einem falschen Ordner gestartet.

CD "/D D:\Program Files (x86)\CruiseControl.NET\server" RUNAS /user:user@company.com "D:\Program Files (x86)\CruiseControl.NET\server\ccnet.exe" PAUSE 
0

1 Antwort auf die Frage

0
harrymc

psexec kann das:

psexec \\Test-Server-01 -u User -p Pass d:\local\path\to\CC.exe 
Entschuldigt, meine Erklärung ist möglicherweise nicht klar genug, ich werde sie anpassen. Im obigen Beispiel haben Sie angegeben. User & Pass Sind der Benutzername und das Passwort der Server korrekt? Ich muss zwar auf diesen Teil zugreifen, um auf den Server zuzugreifen, aber ich muss auch "Als anderen Benutzer ausführen" verwenden, wenn "d: \ local \ path \ to \ CC.exe" verwendet wird. Mr.B vor 7 Jahren 0
Wenn Sie andere Anmeldeinformationen als die des Netzwerks verwenden möchten, können Sie psexec nicht mit dem Befehl [runas] (https://technet.microsoft.com/de-de/library/bb490994.aspx) verwenden. harrymc vor 7 Jahren 0
Toll, werde einige Tests durchführen, bevor ich mit meinem Ergebnis aktualisiere. Wenn Sie Ihre Antwort akzeptieren, sieht dieses Snippet genau das aus, was ich brauche. Vielen Dank. Mr.B vor 7 Jahren 0
Ich habe versucht, Runas und Psexec zu kombinieren, und leider habe ich wenig Erfolg. Könnten Sie ein Beispiel geben? Ich habe meinen ersten Post aktualisiert, um dies zu berücksichtigen. Mr.B vor 7 Jahren 0
Möglicherweise müssen Sie für psexec das Argument "-h" verwenden oder "-s" verwenden (möglicherweise ist ein Administratorbenutzer / ein Kennwort erforderlich). Bei Problemen fügen Sie bitte Ihre Tests und genauen Ergebnisse hinzu. harrymc vor 7 Jahren 0