gpt4 book ai didi

azure - 如何在部署后在 Azure VM(win 7、8、10、服务器)上运行简单的自定义命令?

转载 作者:行者123 更新时间:2023-12-02 08:05:52 26 4
gpt4 key购买 nike

我正在研究如何在 Azure 中新部署的 Windows VM 上远程运行命令,并有一些基本问题。

看起来“自定义脚本扩展”就是答案,但根据文档,它被声明为仅适用于服务器操作系统:

https://learn.microsoft.com/en-us/azure/virtual-machines/windows/extensions-customscript

我认为这是正确的吗?如果是这样,那么非服务器 Windows 操作系统又如何呢?

接下来,我根据以下 MS 教程尝试对 Windows Server 2016 数据中心使用自定义脚本扩展: https://learn.microsoft.com/en-us/azure/virtual-machines/scripts/virtual-machines-linux-cli-sample-create-vm-nginx?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json

我的目标是创建一个新的 Windows VM 并指示它在部署后简单地创建一个新目录。

CLI 步骤:

1. Create a resource group
2. Create a new virtual machine (Server 2016 Datacentre)
3. Finally, run the following command:

az vm 扩展集 --publisher Microsoft.Azure.Extensions --version 2.0 --name CustomScript --vm-name (nameOfMyVM) --resource-group (nameOfMyResourceGroup) --settings '{"commandToExecute":"powershell.exe md c:\testFolder"}'

这会返回错误:

Handler 'Microsoft.Azure.Extensions.CustomScript' has reported failure for VM Extension 'CustomScript' with terminal error code '1007' and error message: 'Install failed for plugin (name: Microsoft.Azure.Extensions.CustomScript, version 2.0.3) with exception The specified executable is not a valid application for this OS platform.'

是否需要采取额外的步骤才能在虚拟机上成功完成此操作?

谢谢

最佳答案

正如4c74356b41所说,您使用的是Linux脚本扩展,对于Windows服务器,我们应该使用CustomScriptExtension,并且发布者Microsoft.Compute>.

我们可以使用 CLI 2.0 设置 Windows VM 的扩展,以下是我的步骤:
1.创建一个json文件,如下所示:

{
"commandToExecute": "powershell.exe mkdir C:\\test321"
}

2.使用 CLI 设置 Windows VM 的扩展名:我们可以使用这个命令脚本:

az vm extension set -n CustomScriptExtension --publisher Microsoft.Compute --version 1.8 --vm-name jasonvm --resource-group vmm --settings C:\Users\jason\Desktop\test\jasontest5.json

结果如下:

C:\Users\jason>az vm extension set -n CustomScriptExtension --publisher Microsoft.Compute --version 1.8 --vm-name jasonvm --resource-group vmm --settings C:\Users\jason\Desktop\test\jasontest5.json
{
"autoUpgradeMinorVersion": true,
"forceUpdateTag": null,
"id": "/subscriptions/5384xxxx-xxxx-xxxx-xxxx-xxxxe29a7b15/resourceGroups/vmm/providers/Microsoft.Compute/virtualMachines/jasonvm/extensions/CustomScriptExtension",
"instanceView": null,
"location": "centralus",
"name": "CustomScriptExtension",
"protectedSettings": null,
"provisioningState": "Succeeded",
"publisher": "Microsoft.Compute",
"resourceGroup": "vmm",
"settings": {
"commandToExecute": "powershell.exe mkdir C:\\test321"
},
"tags": null,
"type": "Microsoft.Compute/virtualMachines/extensions",
"typeHandlerVersion": "1.8",
"virtualMachineExtensionType": "CustomScriptExtension"
}

============================================
更新:

正如 David 所说,我们可以在没有 json 文件的情况下使用此命令:

az vm extension set -n CustomScriptExtension --publisher Microsoft.Compute --version 1.8 --vm-name DVWinServerVMB --resource-group DVResourceGroup --settings "{'commandToExecute': 'powershell.exe md c:\\test'}"

关于azure - 如何在部署后在 Azure VM(win 7、8、10、服务器)上运行简单的自定义命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43914269/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com