如何在 PowerCLI 中显示操作系统

问题描述

我使用以下 powerCLI 脚本来显示

  1. 虚拟机名称
  2. 正常运行时间
  3. 操作系统

但是脚本的操作系统部分返回一个空值。

#connect to server,setup reportfile
$VIServer="servername"

Connect-VIServer -Server servername

$stat = 'sys.osuptime.latest'

$entity = Get-VM

Get-Stat -Entity $entity -Stat $stat -Realtime -MaxSamples 1 -ErrorAction SilentlyContinue |

Select @{N='VM';E={$_.Entity.Name}},@{N='Uptime (d.hh:mm:ss)';E={[timespan]::FromSeconds($_.value)}},@{N=”Configured OS”;E={$_.ExtensionData.Config.GuestFullname}}

输出

虚拟机:VM_EXAMPLE 正常运行时间 (d.hh:mm:ss) : 00.07:29:04 配置的操作系统:

如果我跑:

Get-VM | Select @{Label = "VM Name" ; Expression = {$_.Name} },@{N=”Configured OS”;E={$_.ExtensionData.Config.GuestFullname}}

操作系统显示正常。

关于如何让操作系统显示的任何想法?

解决方法

您在 Get-Stat 中进行管道传输,其中不包含 $entity 变量中的详细信息。

... | Select @{N='VM';E={$_.Entity.Name}},@{N='Uptime (d.hh:mm:ss)';E={[timespan]::FromSeconds($_.value)}},@{N=”Configured OS”;E={$entity.ExtensionData.Config.GuestFullname}}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...