如何导出虚拟机的磁盘类型和大小,并生成报表


PowerShell交流中心如何导出虚拟机的磁盘类型和大小,并生成报表
0
曾经:伤心 asked 6 年 ago

怎么对多个虚拟机的硬盘类型,大少做成一个列表提取,怎么取定义给类型与大小好生产一个execl表格,通过power shell的foreach定义

1 Answers
1
Best Answer
Mooser Lee 管理员 answered 6 年 ago

兄弟,要淡定,急是解决不了问题的。问题不难,也就是PowerShell的基本语法,要理解管道,自定义对象,导出csv。
你似乎用的是AWS,思想都是一样,我来用Azure环境演示:

Get-AzureRmDisk | 
foreach { 
[pscustomobject]@{
Name="***"+($_.Name.Substring($_.Name.Length-6));
Sku=$_.Sku.Name;
Size="{0}.GB" -f $_.DiskSizeGB
}
}

输出为:

Name      Sku          Size
----      ---          ----
***141a72 Premium_LRS  127.GB
***f6af73 Standard_LRS 30.GB
***8c0ff2 Standard_LRS 127.GB
***df7b4d Premium_LRS  30.GB
***125c96 Premium_LRS  127.GB
***1500fa Standard_LRS 127.GB
***81ad7f Standard_LRS 127.GB
***d53762 Standard_LRS 127.GB
***16562b Standard_LRS 127.GB
***7b6c20 Premium_LRS  127.GB
***a5b505 Standard_LRS 127.GB

我们再加一行名字即可导出了:

Get-AzureRmDisk | 
 foreach { 
    [pscustomobject]@{
    Name="***"+($_.Name.Substring($_.Name.Length-6));
    Sku=$_.Sku.Name;
    Size="{0}.GB" -f $_.DiskSizeGB
    }
 } | Export-Csv disk.csv -NoTypeInformation

打开disk.csv

导出磁盘大小

导出磁盘大小