0

次のコマンドを使用して、azure xplat cli から Windows VM を作成しています。

azure network vnet create --location "East US" testnet
azure vm create --vm-name xplattest3 --location "East US" --virtual-network-name testnet --rdp 3389 xplattest3 ad072bd3082149369c449ba5832401ae__Windows-Server-Remote-Desktop-Session-Host-on-Windows-Server-2012-R2-20150828-0350 username SAFEpassword!

Windows VM を作成したら、powershell スクリプトを実行してサーバーを構成したいと考えています。私が理解している限り、これは CustomScriptExtension を実行することによって行われます。

PowerShell の例はいくつか見つかりましたが、Xplat cli の例は見つかりませんでした。

たとえば、次のHelloWorld PowerShell スクリプトを実行したいと思います。

New-Item -ItemType directory -Path C:\HelloWorld

ドキュメントを読んだ後、次のようなものを実行して CustomExtensionScript を実行できるはずです (次のコマンドは機能しません)。

azure vm extension set xplattest3 CustomScriptExtension Microsoft.Compute 1.4 -i '{"URI":["https://gist.githubusercontent.com/tk421/8b7dd37145eaa8f82e2f/raw/36c11aafd3f5d6b4af97aab9ef5303d80e8ab29b/azureCustomScriptExtensionTest"] }'

問題はパラメータだと思います-i。インターネットで例を見つけることができませんでした。MSDNGithubなどの参考文献やドキュメントはありますが、例はありません。

したがって、私の質問:PowerShellを使用して Azure で Windows VM を作成した後にスクリプトを実行する方法はxplat cli?

私の現在のアプローチは ですが、構成スクリプトをブートストラップできるものはすべて考慮されることに注意しCustomScriptExtensionてください!

編集失敗していることをどのように知ることができますか?

コマンドを実行した後azure vm extension ...

  1. xplat cliコマンドが正しく実行されたことを確認します。
  2. MSDN のドキュメントに従って、フォルダーC:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\は作成されますが、スクリプトはダウンロードされません。C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\{version-number}\Downloads\{iteration}
  3. フォルダC:\HelloWorldは作成されません。つまり、スクリプトの内容は実行されていません。
  4. 何が起こったのかを知るためのログやトレースが見つかりません。この情報をどこで見つけることができるか知っている人はいますか?
4

1 に答える 1

0

MSDN ドキュメントを読んだ後に使用したパラメーター (Json) が正しくありませんでした。ただし、C# コードを読むことで、正しいパラメーターの手がかりを得ることができます。

最後のコマンドは次のとおりです。

azure vm extension set xplattest3 CustomScriptExtension Microsoft.Compute 1.4 -i '{"fileUris":["https://macstoragetest.blob.core.windows.net/testcontainername/createFolder.ps1"], "commandToExecute": "powershell -ExecutionPolicy Unrestricted -file createFolder.ps1" }'

このコマンドにより、C:\HelloWorldディレクトリが正常に作成されます。

注: 投稿と必須のドキュメントを読んで、スクリプトを Azure にアップロードすることにしました。ただし、Github から元のスクリプトをダウンロードするテストを行ったところ、正常に動作しているため、ドキュメントが少し古くなっていると思います。

編集: Azure で xplat-cli を使用して Windows サーバーをプロビジョニングする方法を説明する詳細な記事を作成しました。

于 2015-10-17T08:23:34.677 に答える