Запустить блок скрипта с опцией определения имени - PullRequest
1 голос
/ 18 июня 2019

Я пытаюсь создать задание запуска, в котором я указываю имя файла .bat на удаленном сервере, который я хочу выполнить на этом удаленном сервере.У нас нет исполняющего узла на этом сервере, поэтому я использую команду invoke для запуска задания на этом (Windows) сервере.Я могу нормально выполнить задание, если жестко закодировать путь к файлу в командном окне.

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

Сейчас мой рабочий процесс - это одна команда:

Invoke-command -Authentication kerberos -ComputerName <servername> -ScriptBlock{<filename>}

Это работает, но я не могу понять, какполучить возможность (${option.prog_run}) взаимодействовать с этим;либо я получаю ошибку powershell, говорящую, что я указал его неправильно, либо он на самом деле ничего не запускает.

Это "успешно", но на самом деле файл не запускается:

Invoke-command -Authentication kerberos -ComputerName s12zapap01880 -ScriptBlock{start-process ${option.prog_run} }

Это не удастся, с такой ошибкой:

 16:28:00   At line:1 char:123 
 16:28:00   + ... <servername>'-ScriptBlock{<filename.bat>' } 
 16:28:00   +                                               ~ 
 16:28:00   Unexpected token '}' in expression or statement.

Это говорит о том, что я не могу избежать {} правильно, но я не уверен, как.Как правильно добавить сюда опцию?

...