Azure xplat在Windows VM中运行CustomScriptExtension

Azure xplat在Windows VM中运行CustomScriptExtension,windows,powershell,azure,bootstrapping,azure-xplat-cli,Windows,Powershell,Azure,Bootstrapping,Azure Xplat Cli,我正在使用以下命令从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-Ser

我正在使用以下命令从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示例

例如,我希望运行以下程序:

阅读文档后,我应该能够通过执行类似这样的操作来运行CustomExtensionScript(以下命令不起作用):

我认为问题在于参数
-I
。我在网上找不到一个例子。有一些参考和文档,如和,但没有示例

因此,我的问题是:在Azure中使用
xplat cli
创建Windows VM后,如何执行
PowerShell
脚本

请注意,我当前的方法是
CustomScriptExtension
,但是任何允许引导配置脚本的方法都将被考虑

编辑我如何知道它失败了

在我运行命令
azure vm扩展之后…

  • xplat cli
    确认命令已正确执行
  • 根据,创建了文件夹
    C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\
    ,但没有下载到
    C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\{version number}\Downloads\{iteration}
  • 未创建文件夹
    C:\HelloWorld
    ,这意味着脚本的内容尚未执行
  • 我找不到任何类型的日志或跟踪来知道发生了什么。有人知道我在哪里可以找到这些信息吗
  • 我在阅读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下载了原始脚本,它工作正常,所以我猜文档有点过时了


    编辑:我写了一篇详细的文章来解释。

    如果你把它不起作用的原因包括在内,可能会有所帮助。通过cli工具进行调用时是否出现错误,或者正在添加扩展而脚本本身未运行?@MikeWo说明已更新。添加了扩展,脚本没有运行,我找不到任何类型的日志或原因跟踪。
    azure vm extension set xplattest3 CustomScriptExtension Microsoft.Compute 1.4 -i '{"URI":["https://gist.githubusercontent.com/tk421/8b7dd37145eaa8f82e2f/raw/36c11aafd3f5d6b4af97aab9ef5303d80e8ab29b/azureCustomScriptExtensionTest"] }'
    
    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" }'