通过用于 VM 的 powershell 管理 azure 存储帐户

Posted

技术标签:

【中文标题】通过用于 VM 的 powershell 管理 azure 存储帐户【英文标题】:Managed azure storage account via powershell for VM 【发布时间】:2022-01-19 08:58:16 【问题描述】:

我正在尝试使用 AZ PowerShell 创建 VM,但出现错误。

New-AzVM : Using a client owned (un-managed) storage account for boot diagnostics is not supported for VMs.
ErrorCode: OperationNotAllowed
ErrorMessage: Using a client owned (un-managed) storage account for boot diagnostics is not supported for VMs.
ErrorTarget:
StatusCode: 409
ReasonPhrase: Conflict
OperationID : 
+         New-AzVM -ResourceGroupName $primaryResourceGroupName -Locati ...
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [New-AzVM], ComputeCloudException
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.Compute.NewAzureVMCommand

我想知道

    如何检查我的存储帐户是托管还是非托管 如何让存储账户被管理?

【问题讨论】:

你好@Node.Js,你能提供你在powershell中运行的用于创建VM的脚本吗? 【参考方案1】:

更具体地满足您的要求

1 .如何检查我的存储帐户是托管还是非托管

运行以下cmd检查VM OS DISK是托管还是非托管:

(get-azurermvm -ResourceGroupName NAME -Name yourvm).StorageProfile.OsDisk

这是非托管磁盘 VM 的示例屏幕截图。

2.如何让存储账户被管理?

现在我们需要停止 VM 以将非托管磁盘转换为托管磁盘

运行下面的 cmd 来停止虚拟机

$rgName = "myResourceGroup"
$vmName = "myVM"
Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force

然后运行此 cmd 以转换为托管磁盘

ConvertTo-AzVMManagedDisk -ResourceGroupName $rgName -VMName $vmName

这里是成功转换的参考输出:

有关更多信息,请参阅此 MS DOC:Create VM & Convert Single Instance VM

【讨论】:

以上是关于通过用于 VM 的 powershell 管理 azure 存储帐户的主要内容,如果未能解决你的问题,请参考以下文章

使用PowerShell Direct从Hyper-V主机管理VM

通过PowerShell命令给Azure VM添加CustomScriptExtension

powershell 使用powershell创建用于测试SQL的Azure VM

使用 Powershell 删除不存在的网络适配器

Azure VM 通过 powershell 的 Powerstate

用于本地文件的 Azure 自定义脚本扩展 CLI/Powershell