Я пытаюсь запустить скрипт powershell в пакетном StartTask, но встретил ошибку. Ниже приведен код, где я пошел неправильно при создании пула startTask:Неожиданная ошибка токена, создающая задачу запуска .ps1 в лазурной партии
def create_pool(batch_service_client, pool_id, resource_files, node_os_family):
print('Creating pool [{}]...'.format(pool_id))
task_commands = [
'copy $AZ_BATCH_TASK_WORKING_DIR/python_tutorial_task.py $AZ_BATCH_NODE_SHARED_DIR',
'powershell.exe -command set-executionpolicy remotesigned',
"powershell.exe -command $AZ_BATCH_NODE_STARTUP_DIR" + "\\" + "PrepPython.ps1",
'pip install azure-batch',
'pip install azure-storage',
'pip install cryptography']
... ...
И позже я обернул эти команды в одну линию крепления «cmd.exe/с» вперед. Но это не сработало и продолжало поднимать следующую ошибку:
At line:1 char:27
+ $AZ_BATCH_NODE_STARTUP_DIR\PrepPython.ps1
+ ~~~~~~~~~~~~~~~
Unexpected token '\PrepPython.ps1' in expression or statement.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordEx
ception
+ FullyQualifiedErrorId : UnexpectedToken
... ...
У кого-нибудь есть идеи об этом?
Привет, спасибо за ваше предложение, но это все еще не работает. И сообщение об ошибке изменяется на: {Аргумент '$ AZ_BATCH_NODE_STARTUP_DIR \ PrepPython.ps1' к параметру -File не существует. Укажите путь к существующему файлу .ps1 в качестве аргумента параметра -File.}. Но я думаю, что существует файл. – user123
@Avshalom. Кроме того, я не думаю, что изменение «-команды» на «-файл» является проблемой, поскольку я тестировал скрипт на своем локальном компьютере, оба работали очень хорошо. – user123
вы можете попробовать следующее: 'powershell.exe -file "$ AZ_BATCH_NODE_STARTUP_DIR \ PrepPython.ps1" ' – Avshalom