如何获取 Azure VM 上已用/可用的托管磁盘大小?

问题描述

我有一些 Azure VM,并在其中附加了一些托管磁盘。但是是否有可能获得这些托管磁盘的可用/已用大小?

我尝试过 Get-AzDisk powershell 命令。但是,它只返回总大小,如果是磁盘而不是磁盘的已用/可用大小。如何通过 PowerShell 获取磁盘的已用/可用大小?

解决方法

如果没有日志分析,您将无法做到这一点。 使用 LogAnalyticsWorkspace 并将它们连接到您的 VM,使用内置或自定义查询,您可以提取空间详细信息。

,

您可以使用运行命令功能来执行此操作。 对于 Windows VM,请参阅 this linkthis link 适用于 Linux VM。

例如,如果您使用的是 Azure Windows VM,则可以使用下面的 PowerShell 命令来获取您需要的信息:

$vm = Get-AzVM -Name <vm name> -ResourceGroupName <Resource Group Name>

$result = Invoke-AzVMRunCommand -VM $vm -CommandId 'RunPowerShellScript' -ScriptPath '<path of your PS script that run inside of VM>'

$result.Value[0].Code
$result.Value[0].Message

在VM内部运行的PS脚本内容:

Get-WmiObject Win32_LogicalDisk | Select-Object DeviceID,size,FreeSpace

结果: enter image description here