Как я могу запустить процесс на удаленном компьютере с помощью winrs и не ждать, пока он завершится sh? - PullRequest
0 голосов
/ 06 мая 2020

Я пишу сценарий для выполнения некоторых операций (копирование файлов, установка драйверов, настройка некоторых приложений) на удаленном компьютере, на котором запущен Windows Server 2016. Моя исходная машина также работает Windows Server 2016. Я в основном используется winrs для запуска удаленных команд, потому что удаленное взаимодействие PowerShell не является вариантом (на целевой машине нет PowerShell, и установить его там невозможно).

Мне нужно выполнить (long- running) на удаленном компьютере и продолжаю выполнение моего скрипта, не дожидаясь его завершения sh. Этот процесс будет продолжаться еще долго после того, как мой скрипт завершится. По сути, я хочу отделить этот процесс от моего локального компьютера и не открывать окно / соединение во время его работы, потому что я хочу, чтобы процесс пережил выход из строя моего локального компьютера.

Моя проблема в том, что команда winrs start этот процесс всегда ожидает завершения процесса sh. Некоторые подходы, которые я пробовал до сих пор:

  • Используйте start с winrs:
    winrs /r:<remote-computer> start "" <process-exe> 
    
  • Поместите командный файл на удаленный компьютер, который сам использует start для вызова процесса.

    Пакетный файл:

    start "" <process-exe>
    

    Локальная команда:

    winrs /r:<remote-computer> <batch-file>
    
  • То же, что и второй, но с запуском в локальном

Во всех этих случаях команда winrs блокируется, и я должен остановить ее с помощью Ctrl- C, что также завершает удаленный процесс.

Есть ли способ выполнить sh это?

...