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