Простое решение состоит в том, чтобы перебрать массив и отформатировать вывод:
$Monitors = Get-WmiObject -Namespace root\wmi -Class WmiMonitorBasicDisplayParams
$Count = 0
ForEach($Monitor in $Monitors){
$Count += 1
$Monitor | select @{ N="Computer"; E={$_.__SERVER} }, `
@{N="Monitor $Count InstanceName"; E={$_.InstanceName}},`
@{N="Monitor $Count Horizonal"; E={[System.Math]::Round(($_.MaxHorizontalImageSize/2.54), 2)} }, `
@{N="Monitor $Count Vertical"; E={[System.Math]::Round(($_.MaxVerticalImageSize/2.54), 2)} },
@{N="Monitor $Count Size"; E={[System.Math]::Round(([System.Math]::Sqrt([System.Math]::Pow($_.MaxHorizontalImageSize, 2) + [System.Math]::Pow($_.MaxVerticalImageSize, 2))/2.54),2)} },`
@{N="Monitor $Count Ratio";E={[System.Math]::Round(($_.MaxHorizontalImageSize)/($_.MaxVerticalImageSize),2)} }
}
Edit:
Чтобы добавить Неделю изготовления и серийный номер, вы должны объединить информацию внутри цикла for:
$Monitors = Get-WmiObject -Namespace root\wmi -Class WmiMonitorBasicDisplayParams
$MonitorIDs = Get-WmiObject -Namespace root\wmi -Class WmiMonitorID
$Count = 0
ForEach($Monitor in $Monitors){
$Count += 1
$MonitorId = ($MonitorIDs | ?{$_.InstanceName -eq $Monitor.InstanceName})
$Monitor | select @{ N="Computer"; E={$_.__SERVER} }, `
@{N="Monitor $Count InstanceName"; E={$_.InstanceName}},`
@{N="Monitor $Count Horizonal"; E={[System.Math]::Round(($_.MaxHorizontalImageSize/2.54), 2)} }, `
@{N="Monitor $Count Vertical"; E={[System.Math]::Round(($_.MaxVerticalImageSize/2.54), 2)} },
@{N="Monitor $Count Size"; E={[System.Math]::Round(([System.Math]::Sqrt([System.Math]::Pow($_.MaxHorizontalImageSize, 2) + [System.Math]::Pow($_.MaxVerticalImageSize, 2))/2.54),2)} },`
@{N="Monitor $Count Ratio";E={[System.Math]::Round(($_.MaxHorizontalImageSize)/($_.MaxVerticalImageSize),2)} },`
@{N="Monitor $Count WeekOfManufacture"; E={$MonitorId.WeekOfManufacture}},`
@{N="Monitor $Count SerialNumberID"; E={$MonitorId.SerialNumberID}},`
@{N="Monitor $Count SerialNumber"; E={[System.Text.Encoding]::ASCII.GetString($MonitorId.SerialNumberID)}}
}