2017-02-03 56 views
2

我正在通過GET Invoke-RestMethod從我的應用程序中拉回有關提供程序的一些詳細信息。 目前它正在返回有關提供者的所有詳細信息。我只想返回活動狀態設置爲True的提供程序的代碼。篩選器調用 - RestMethod結果

$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 

它目前返回所有這些細節。我所需要的只是代碼,如果積極真實。

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 

回答

5

只是$varWhere-Object cmdlet並篩選它們:

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

敢肯定你需要'「''左右TRUE' – 4c74356b41

+0

@ 4c74356b41敢肯定你沒有;-) –

+0

@ 4c74356b41試試看:'[PSCustomObject] @ {name =「True」},[PSCustomObject] @ {name =「False」} | Where-Object name -eq True' –