Wie halten Sie remote-powershell-Befehl lebendig nach Ende der Sitzung?

Verwende ich den folgenden Befehl zum ausführen setup_server.exe auf Windows-remote-box:

powershell -command "$encpass=convertto-securestring -asplaintext RPASSWORD -force;$cred = New-Object System.Management.Automation.PSCredential -ArgumentList RUSER,$encpass; invoke-command -computername RCOMPUTERNAME -scriptblock {setup_server.exe} -credential $cred;"

setup_server.exe's Aufgabe ist es, auf der einige Konfigurationsdateien und starten Sie my_server.exe (einige daemon-Prozess), dann ist es beendet. Und ich will my_server.exe am laufen zu halten, nach setup_server.exe fertig ist.

Also wenn ich es per CMD auf die lokale box (also einfach nur laufen setup_server.exe von CMD) funktioniert es, aber wenn ich es per powershell auf dem remote host funktioniert es nicht. Nämlich die my_server.exe wird gestartet, aber direkt nach setup_server.exe geschlossen ist der server auch geschlossen wird(getötet).

Also die Frage ist folgende:
Die powershell-Flaggen/- cmdlets sollte ich verwenden, um das beschriebene Szenario zu arbeiten, als im lokalen Modus?

HINWEIS: ich möchte synchron bekommen Ausgabe setup_server.exe, so laufen remote-Befehl mit -AsJob Flagge, wahrscheinlich würde nicht funktionieren für mich, obwohl ich selbst weiß nicht, ob es hält den server am Leben zu erhalten, nachdem setup_server.exe's end.

  • entweder erstellen Sie einen Dienst oder eine geplante Aufgabe zum ausführen der exe-Datei ?
  • Funktioniert es, wenn Sie starten setup_server.exe über Start-Process (non-blocking für die ps-Sitzung) statt direkt?
Schreibe einen Kommentar