如果虚拟磁盘是高级磁盘或标准磁盘,请使用get-azurermvm获取存储类型

时间:2018-08-23 16:48:04

标签: azure powershell azure-storage

团队,

谢谢您,我是一名IT专业人员,正在编写一个脚本,该脚本提供了vm名称,vm大小以及所附数据磁盘大小的输出。

下面是我用于非托管和托管磁盘vm的命令。我想知道是否可以通过某种方式使用get-azurermvm来获取连接的磁盘类型(如果是SSD或HDD)的详细信息?

    $allvm = Get-Azurermvm | ForEach-Object { 
 $props = [ordered]@{
                    "Name" = $_.name
                    "Disk Size" = $_.StorageProfile.DataDisks.disksizegb
                    "VM Size" = $_.HardwareProfile.VmSize
                    }
                $Result += @(New-Object pscustomobject -Property $props)
}

Write-Output $Result

2 个答案:

答案 0 :(得分:1)

说实话,您的问题并未表明您在进行任何真正的研究(How to ask a good question)。

如果您已经阅读了正在使用的类的文档(DataDisk),则可能会注意到ManagedDisk属性本身具有另一个名为StorageAccountType的属性,其中包含您的信息正在寻找。

这样的事情应该可以解决(未经测试,如果有多个磁盘,可能必须遍历Datadisks

 $allvm = Get-Azurermvm | ForEach-Object { 
 $props = [ordered]@{
                    "Type" = $_.StorageProfile.DataDisks.ManagedDisk.StorageAccountType
                    "Name" = $_.name
                    "Disk Size" = $_.StorageProfile.DataDisks.disksizegb
                    "VM Size" = $_.HardwareProfile.VmSize
                    }
                $Result += @(New-Object pscustomobject -Property $props)
}

Write-Output $Result

我想离开我的最后一件事,所以这不是您的“团队”,也不是脚本编写或研究服务。我们在这里为困难的问题提供帮助,我们大多数人出于好奇或无聊而这样做,而像您这样的语气却很难接受。话虽如此,我想与其说是在愚蠢的评论中告诉我,还不如说在愚蠢的答案中

答案 1 :(得分:0)