过滤Invoke-RestMethod结果

时间:2017-02-03 11:50:31

标签: powershell powershell-v2.0

我通过GET Invoke-RestMethod从我的应用程序中提取有关提供程序的一些详细信息。 目前它正在返回有关提供商的所有详细信息。我只想返回活动状态设置为True的提供程序代码。

$acctname = 'user1'
$password = 'secret'

$params = @{uri = 'http://localhost:8080/tryout/settings/provider/providerDetails';
                   Method = 'Get';
                   Headers = @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("$($acctname):$($password)"))
           } #end headers hash table
   } #end $params hash table


# This gets all the basic info ok
$var = invoke-restmethod @params

#show the values in the console
echo $var

它目前返回所有这些细节。我需要的只是代码,如果active-true。

id            : 90
name          : Test 1
active        : True
code          : NOT_STATED
system        : False
objectVersion : 2

id            : 91
name          : Test 2
active        : True
code          : MAIN
system        : False
objectVersion : 3

id            : 20372
name          : Test 3
active        : True
code          : NOT_STATED
system        : True
objectVersion : 2

id            : 30382
name          : Test 4
active        : True
code          : OP
system        : False
objectVersion : 1

1 个答案:

答案 0 :(得分:6)

管道 $var添加到Where-Object cmdlet并过滤它们:

$var | Where-Object active -eq 'True'