Я пытаюсь запустить сценарий PowerShell из Azure, фабрики данных, пакетной службы, настраиваемой активности. Самое близкое, что я получил к этой работе, это следующее:
powershell powershell -command '$env:AZ_BATCH_TASK_DIR\wd\processInAzure.ps1'
Когда я запускаю это, я получаю следующее сообщение об ошибке
At line:1 char:23
+ $env:AZ_BATCH_TASK_DIR\wd\processInAzure.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Unexpected token '\wd\processInAzure.ps1' in expression or statement.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken
Мне удалось получить каталограспечатка $ env: AZ_BATCH_TASK_DIR \ wd и увидеть, что processInAzure.ps1 существует в этом месте. Я был в состоянии Write-Host «Привет из Azure», так что я вижу, что powershell работает. То, что я не получаю, это как ссылаться на файл сценария ps1, используя переменную окружения. Кто-нибудь знает синтаксис «сахар», чтобы заставить это работать?
Благодаря вкладу архитектора Джейми (включая его удаленное редактирование !!! Поместите редактирование обратно, оно напрямую привело к решению), я смог собрать несколько вещей, чтобы получитьэто на работу. Двойной PowerShell в начале командной строки не является опечаткой. Вот что получилось:
powershell powershell -command ("$env:AZ_BATCH_TASK_DIR" + '\wd\processInAzure.ps1')
Что не сработало, так это:
powershell powershell -command ("$env:AZ_BATCH_TASK_DIR" + "\wd\processInAzure.ps1")
powershell powershell -command ("$env:AZ_BATCH_TASK_DIR\wd\processInAzure.ps1")
powershell -command ("$env:AZ_BATCH_TASK_DIR" + '\wd\processInAzure.ps1')