【问题标题】:Powershell Get-SCOMClassPowershell Get-SCOMClass
【发布时间】:2021-11-21 09:13:32
【问题描述】:

我正在与 SCOM(系统中心运营经理)合作。 可以使用 powershell 查询 SCOM。

我试过了,效果很好,但我需要你的帮助。

我使用以下命令:

Get-SCOMClass -name Microsoft.Windows.Client.Win10.LogicalDisk | 获取-SCOMClassInstance | 选择对象 *

这是这个的输出:

如果我只想要对象 HealthState 那没问题。只需使用此命令:

Get-SCOMClass -name Microsoft.Windows.Client.Win10.LogicalDisk | 获取-SCOMClassInstance | 选择对象 HealthState

但是我怎样才能得到第一个条目(FreeSpace)的输出呢? [Microsoft.Windows.Client.Win10.Aggregate.LogicalDisk].FreeSpace

我尝试了几件事,直接使用 SCOMClass“Microsoft.Windows.Client.Win10.Aggregate.LogicalDisk”,但它的输出与“Microsoft.Windows.Client.Win10.LogicalDisk”相同。

最好的问候 乔纳斯

【问题讨论】:

    标签: powershell scom


    【解决方案1】:

    试试这个:

    Get-SCOMClass -name Microsoft.Windows.Client.Win10.LogicalDisk | Get-SCOMClassInstance | Where-Object {$_.HealthState -like "*FreeSpace"}
    

    【讨论】:

    • 嗨。谢谢你的答案。但没有工作。而且我不想要对象“HealthState”。这只是一个正在工作的例子。
    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    • @JoWe:用你的对象改变 $_.HealthState。如果它不起作用,请尝试向我们提供更多详细信息,例如您需要的确切对象以及您正在执行的命令。
    • 我想要对象“FreeSpace”的值。我想要值 161749962752。或者“FreeSpace”不是对象?如果我尝试了不起作用的 Select-Object FreeSpace。
    【解决方案2】:

    这应该可行:

    Get-SCOMClass -name Microsoft.Windows.Client.Win10.LogicalDisk | Get-SCOMClassInstance | Select-Object @{Name="Computer";Expression={$_.'[Microsoft.Windows.Computer].PrincipalName'.value}}, @{Name="Logical Disk";Expression={$_.DisplayName}}, @{Name="Free Size in GB";Expression={[math]::round($_.'[Microsoft.Windows.Client.Win10.Aggregate.LogicalDisk].FreeSpace'.value/1GB, 2)}}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-24
      • 2018-09-02
      • 1970-01-01
      相关资源
      最近更新 更多