PowerShellスクリプトをStartTaskで実行しようとしましたが、エラーが発生しました。以下では、プールタスク開始を作成するときに、私は間違っていたコードです:azureバッチで.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']
... ...
以降私は1つのラインが先に「cmd.exeの/ c」を付けにこれらのコマンドを包みました。しかし、これはうまくいかず、次のエラーが発生し続けました。
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また、私は自分のローカルコンピュータでスクリプトをテストしたので、 '-command'を '-file'に変更することは問題ではないと考えています。両方ともうまくいきました。 – user123
これを試すことができます: 'powershell.exe -file "$ AZ_BATCH_NODE_STARTUP_DIR \ PrepPython.ps1" ' – Avshalom