Я пишу сценарий для выполнения некоторых операций (копирование файлов, установка драйверов, настройка некоторых приложений) на удаленном компьютере, на котором запущен 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 это?