Powershell:在结果中仅显示值,而不显示@ {} [英] Powershell: showing value only instead of @{} in result

查看:566
本文介绍了Powershell:在结果中仅显示值,而不显示@ {}的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是PWSH的新手,这对您来说可能看起来很容易,但是我找不到找到预期结果的方法.

I'm new to PWSH, it may looks easy for you guys but I can't find the way to show the result as expected.

$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的结果时,我收到以下输出:

Now, as example, when requesting the result of $vmMemUsageAvg I receive this output:

C:\Windows\system32> $vmMemUsageAvg 
Mem.Usage.Average
-----------------
              5.9

但是我只想将值作为输出,例如: 5.9

but I want only want as output the value, like: 5.9

将其放在Excel单元格中

putting that in Excel cell with

$Sheet.Cells.Item($intRow, 13) = [String]$vmMemUsageAvg 

给我这样的字符串:

@{Mem.Usage.Average=5.9}

任何帮助都欢迎您仅显示该值

Any help welcome to have this value ONLY displayed

推荐答案

使用Select-Object @{N="Mem.Usage.Average";E={...}}可以创建具有属性Mem.Usage.Average的对象,但它看起来只需要一个字符串.因此,只需取出Select

By using Select-Object @{N="Mem.Usage.Average";E={...}} you are making an object with a property Mem.Usage.Average, but it looks just want a string. So just take out the 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)

这篇关于Powershell:在结果中仅显示值,而不显示@ {}的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆