VMWare PowerCLI获取已关闭电源的VM的DiskUsage

时间:2018-07-20 07:39:34

标签: powershell virtual-machine vmware powercli power-state

我正在创建一个获取所有虚拟机并显示DiskSpace的脚本。问题是,如果虚拟机关闭电源,它将不会显示磁盘的已用空间。

以下是两个示例:第一个示例是具有已打开电源的VM:

PowerCLI C:\> Get-VM sluwv0039

Name                 PowerState Num CPUs MemoryGB
----                 ---------- -------- --------
sluwv0039            PoweredOn  2        4.000

PowerCLI C:\> $VM = Get-VM sluwv0039
PowerCLI C:\> $VM.guest.disks

CapacityGB      FreeSpaceGB     Path
----------      -----------     ----
49.997          5.417           C:\

关闭虚拟机电源的示例二:

PowerCLI C:\> Get-VM sluwv0012

Name                 PowerState Num CPUs MemoryGB
----                 ---------- -------- --------
sluwv0012            PoweredOff 4        8.000


PowerCLI C:\> $VM = Get-VM sluwv0012
PowerCLI C:\> $VM.guest.disks
PowerCLI C:\>

注意:最后一行是输出。没有“ CapacityGB”等。

2 个答案:

答案 0 :(得分:1)

正确的,该属性正在从来宾文件系统中读取,以查看分区上剩余了多少空间。您的情况是C:\驱动器。如果VM关闭,则PowerCLI无法找到该属性。

或者,您可以查看$vm.ExtensionData.Summary.Storage属性并进行一些粗略的转换。注意:这些文件的输出以字节为单位,因此您需要将它们转换为GB。示例:$tempVM.ExtensionData.Summary.Storage.Committed / 1GB

这不是精确的,但总比没有输出要好。

答案 1 :(得分:0)

这是显示vm规范的脚本示例:

获取Vm |选择对象名称,PowerState,VMHost,NumCPU,MemoryGB,ProvisionedSpaceGB,@ {N =“ HostName”; E = {@($ .guest.HostName)}},@ {N =“ Gateway”; E = {@($ .ExtensionData.Guest.IpStack.IpRouteConfig.IpRoute.Gateway.IpAddress [0])}},@ {N =“ DNS”; E = {$ .ExtensionData.Guest.IpStack .DnsConfig.IpAddress}},@ {N =“ IPAddress”; E = {@($ .guest.IPAddress -like“ 192.168。*”)}},@ {N =“ Nics”; E = {@($ .guest.Nics)}},@ {N =“ Datastore”; E = {@($ | Get-DataStore)}},@ {N =“ Disks”; E = {@($ .guest.States)}},版本,@ {N =“ State”; E = {@($ .guest.State)}},@ {N =“ OS “; E = {@($ _。guest.OSFullName)}}

示例输出如下:

名称状态VMHost NumCpu MemoryGB PowerState ProvisionedSpaceGB版本IPAddress主机名OS Nics磁盘VMwareTools网关DNS 测试运行192.168.32.100 2 1开机43.1085147 v8 192.168.122.1 Elenoon Ubuntu Linux(64位)网络适配器1:VM网络网络适配器2:本地::容量:17167286272,FreeSpace:14212493312,路径:/ Capacity:15188623360,FreeSpace :15154872320,路径:/ media / files容量:10724835328,FreeSpace:10672824320,路径:/ var / log容量:973770752,FreeSpace:690139136,路径:/ boot guestToolsRunning 127.0.0.1

希望是有用的;)