Powershell:从数组中获取项目并为其分配变量

时间:2012-08-26 17:37:10

标签: arrays string object powershell

我正在尝试从此列表中提取GUIDS。

Get-WMIObject WIN32_Product | ? {$ _。识别类似于“* 26A24AE4-039D-4CA4-87B4-2F8321 * FF *”} |格式列表识别号码

是否可以将每个项目转换为字符串并可能将它们分配给变量?

这是我正在尝试的,但它不起作用。但也许这会显示我正在尝试的逻辑:

$ A = Get-WMIObject WIN32_Product | ? {$ _。识别类似于“* 26A24AE4-039D-4CA4-87B4-2F8321 * FF *”} |格式列表识别号码

$ GUIDList = ForEach-Object {$ A.ToString()}

$ GUIDList

2 个答案:

答案 0 :(得分:2)

格式列表,顾名思义,用于显示格式化目的。

根据您的使用情况,我想您可以改为使用Select-Object:

| Select-Object IdentifyingNumber

之后,您将拥有一个具有属性IdentifyingNumbers的对象数组。

如果你只想要数组/字符串列表(假设属性是字符串),你可以这样做:

| Select-Object -expand IdentifyingNumber

答案 1 :(得分:0)

这是另一个使用WQL过滤器并使用Foreach-Object cmdlet提取标识符的有用选项:

Get-WmiObject Win32_Product -Filter "IdentifyingNumber LIKE "%26A24AE4-039D-4CA4-87B4-2F8321%FF%"} | 
Foreach-Object {$_.IdentifyingNumber}