Powershell:将输出保存到变量

问题描述 投票:0回答:1

我想将输出保存到变量,但它保存的字符比我想要保存的字符多。

我用:

$InstallLocation1 = Get-WmiObject -Class Win32_Product -Filter 'Name like "%FAS%"' |  Select InstallLocation

但是我的变量包含:

 @{InstallLocation=C:\Program Files\inray\FAS\}

但是我需要的内容是:

C:\Program Files\inray\FAS\

powershell variables get-wmiobject
1个回答
0
投票

... |Select-Object <propertyName>,...
将创建一个新对象并将属性从输入对象复制到新对象 - 因此您最终会得到一个新对象,该对象恰好有 1 个名为
InstallLocation
的属性。

要仅获取单个属性的值,请使用

ForEach-Object -MemberName
代替:

$InstallLocation1 = Get-WmiObject -Class Win32_Product -Filter 'Name like "%FAS%"' |ForEach-Object -MemberName InstallLocation

或者,您可以(ab)使用

Select-Object
-ExpandProperty
参数来实现相同的结果:

$InstallLocation1 = Get-WmiObject -Class Win32_Product -Filter 'Name like "%FAS%"' |Select-Object -ExpandProperty InstallLocation
© www.soinside.com 2019 - 2024. All rights reserved.