问题描述
我有一些 Azure VM,并在其中附加了一些托管磁盘。但是是否有可能获得这些托管磁盘的可用/已用大小?
我尝试过 Get-AzDisk powershell 命令。但是,它只返回总大小,如果是磁盘而不是磁盘的已用/可用大小。如何通过 PowerShell 获取磁盘的已用/可用大小?
解决方法
如果没有日志分析,您将无法做到这一点。 使用 LogAnalyticsWorkspace 并将它们连接到您的 VM,使用内置或自定义查询,您可以提取空间详细信息。
,您可以使用运行命令功能来执行此操作。 对于 Windows VM,请参阅 this link,this 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