如何获取 Azure VM 上的 used/free 托管磁盘大小?

How can I get the used/free managed disk size on Azure VMs?

我有一些 Azure VM,并将一些托管磁盘附加到。但是有没有可能获得这些托管磁盘的 free/used 大小?

我试过 Get-AzDisk powershell command.However 它只有 returns 磁盘总大小而不是 used/free 磁盘大小。如何通过 PowerShell 获取磁盘的 used/free 大小?

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

您可以使用 运行 命令功能来执行此操作。 对于 windows 台虚拟机,请参阅 this link and this link 用于 Linux 台虚拟机。

例如,如果您使用的是 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

结果: