Powershell:在结果中只显示值而不是@{}
Powershell: showing value only instead of @{} in result
我是 PWSH 的新手,这对你们来说可能看起来很简单,但我找不到按预期显示结果的方法。
$vm2 = Get-VM VM1234
$vmMemUsageAvg = get-VM $vm2.Name | Select @{N="Mem.Usage.Average";E={[Math]::Round((($_ |Get-Stat -Stat mem.usage.average -Start (Get-Date).AddHours(-24)-IntervalMins 5 -MaxSamples (12) |Measure-Object Value -Average).Average),2)}}
现在,例如,当请求 $vmMemUsageAvg
的结果时,我收到此输出:
C:\Windows\system32> $vmMemUsageAvg
Mem.Usage.Average
-----------------
5.9
但我只想输出值,例如:
5.9
将其放入 Excel 单元格
$Sheet.Cells.Item($intRow, 13) = [String]$vmMemUsageAvg
给我这样的字符串:
@{Mem.Usage.Average=5.9}
任何帮助欢迎只显示此值
通过使用 Select-Object @{N="Mem.Usage.Average";E={...}}
,您正在创建一个带有 属性 Mem.Usage.Average
的对象,但它看起来只需要一个字符串。所以只需取出 Select
$vm2 = Get-VM VM1234
$vmMemUsageAvg = [Math]::Round(((get-VM $vm2.Name | Get-Stat -Stat mem.usage.average -Start (Get-Date).AddHours(-24)-IntervalMins 5 -MaxSamples (12) | Measure-Object Value -Average).Average),2)
我是 PWSH 的新手,这对你们来说可能看起来很简单,但我找不到按预期显示结果的方法。
$vm2 = Get-VM VM1234
$vmMemUsageAvg = get-VM $vm2.Name | Select @{N="Mem.Usage.Average";E={[Math]::Round((($_ |Get-Stat -Stat mem.usage.average -Start (Get-Date).AddHours(-24)-IntervalMins 5 -MaxSamples (12) |Measure-Object Value -Average).Average),2)}}
现在,例如,当请求 $vmMemUsageAvg
的结果时,我收到此输出:
C:\Windows\system32> $vmMemUsageAvg
Mem.Usage.Average
-----------------
5.9
但我只想输出值,例如: 5.9
将其放入 Excel 单元格
$Sheet.Cells.Item($intRow, 13) = [String]$vmMemUsageAvg
给我这样的字符串:
@{Mem.Usage.Average=5.9}
任何帮助欢迎只显示此值
通过使用 Select-Object @{N="Mem.Usage.Average";E={...}}
,您正在创建一个带有 属性 Mem.Usage.Average
的对象,但它看起来只需要一个字符串。所以只需取出 Select
$vm2 = Get-VM VM1234
$vmMemUsageAvg = [Math]::Round(((get-VM $vm2.Name | Get-Stat -Stat mem.usage.average -Start (Get-Date).AddHours(-24)-IntervalMins 5 -MaxSamples (12) | Measure-Object Value -Average).Average),2)