0

我正在创建一个获取所有虚拟机并显示 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”等。

4

2 回答 2

2

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

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

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

于 2018-07-20T14:52:19.970 回答
0

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

获取虚拟机 | Select-Object Name,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.Disks)}},Version,@{N="State ";E={@($ .guest.State)}},@{N="OS";E={@($_.guest.OSFullName)}}

示例输出是这样的:

Name State VMHost NumCpu MemoryGB PowerState ProvisionedSpaceGB Version IPAddress HostName OS Nics Disks VMwareTools Gateway DNS test Running 192.168.32.100 2 1 PoweredOn 43.1085147 v8 192.168.122.1 Elenoon Ubuntu Linux (64-bit) 网络适配器 1:VM Network 网络适配器 2:local : :容量:17167286272,自由空间:14212493312,路径:/容量:15188623360,自由空间:15154872320,路径:/媒体/文件容量:10724835328,自由空间:10672824320,路径:/var/log容量:973770752,自由空间:690139136启动 guestToolsRunning 127.0.0.1

希望有用;)

于 2018-07-21T04:54:29.527 回答