Передача исполняемого файла в расписание удаленных задач с использованием соответствующих кавычек, например "" "" - PullRequest
0 голосов
/ 14 декабря 2018

Я работаю над некоторым заданием (не могу раскрыть всю информацию здесь), где мне нужно запланировать задачу на удаленной машине, в которой какой-нибудь исполняемый файл начнет свое выполнение.Исполняемый файл предварительно установлен на удаленной машине.Я форматирую командную строку для удаленного планировщика задач следующим образом:

@"-u {0} -p {1} -util """"""""{2}""""""""

-u - это «Имя пользователя» -p - это «Пароль», под которым задача будет выполняться на удаленном компьютере.{2} заменяется соответствующим исполняемым файлом, который необходимо запустить на удаленной машине.Я использую TaskScheduler API в C # .Net.

Мой запрос с указанным выше числом кавычек ("") вокруг {2}, моя утилита успешно выполняется на Windows 2008 R2 сервере, однако он не прошел на Windows 2012 R2сервер кто-нибудь имеет какие-либо идеи по этому поводу?

Я обрисовываю общий поток ниже -

  1. Есть 3 исполняемых A (.net exe), B (.net exe) и C. Где C предварительно установлен на удаленном компьютере.
  2. Сначала A запускает выполнение на локальном компьютере и копирует B на удаленном компьютере в известное место.
  3. Использование API планировщика заданий в C #.NET «A» назначает выполнение «B» на удаленном компьютере для выполнения.
  4. Показанная выше командная строка передается в качестве аргумента команды «B» через планировщик задач.
  5. Когда B начинает выполнениеон анализирует командную строку и, используя классы Process и ProcessStartInfo, выполняет исполняемый файл, указанный в параметре -util.

Поэтому при сбое выполнения на сервере Windows 2012 R2 говорит, например, что не удалось запустить процесс - "C: \ Program

Поскольку удаленный исполняемый файл находится по пути C: \ Program Files \ x \ y \ z \ C.exe.

Ясно одно, что это связано с двойными кавычками, но это очень хорошо работает на Windows 2008 R2.Есть указатель?

...