Я пытаюсь создать задание запуска, в котором я указываю имя файла .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.
Это говорит о том, что я не могу избежать {} правильно, но я не уверен, как.Как правильно добавить сюда опцию?