0

所以我拉一个 SCOM 类来获取管理包名称,然后使用这些 MP 名称来获取不同的监视器。我想输出 GUID、监视器显示名称和管理包名称。我遇到的问题是如何将其输出到 CSV,因为我不知道如何将它们分成列。有数百个监视器,所以我相信它也需要放入一个数组中。

目前,我可以让它在列中写入控制台并使用我需要的信息,但是当我尝试使用 Export-CSV cmdlet 时,它给了我各种错误。这是我到目前为止所拥有的:

$OMMgmtSrv = "SERVER"
$Classes = Get-SCOMClass -ComputerName $OMMgmtSrv
Foreach ($Class in $Classes)
{
$MP = $Class.ManagementPackName

$monitors = Get-SCOMMonitor -ManagementPack $MP  | sort-object displayname

Foreach($monitor in $monitors)
{

Write-Host $monitor.ID $monitor.displayname $MP

}
}
4

1 回答 1

0

PowerShell 3.0 或更高版本,您可以使用PSCustomObject.

foreach ($monitor in $monitors) {
    [PSCustomObject]@{
        ID = $monitor.ID
        DisplayName = $monitor.displayname
        ManagementPackName = $MP
    } | Export-Csv -Path "C:\monitors.csv" -Append
}

此自定义对象将具有自定义属性 ID、DisplayName 和 ManagementPackName,并且可以轻松导出为 CSV。

于 2014-09-09T17:03:28.970 回答