2017-02-03 2 views
2

Ich ziehe einige Details über Anbieter zurück von meiner Anwendung über eine GET Invoke-RestMethod. Momentan gibt es alle Details über Provider zurück. Ich möchte nur den Code von Anbietern zurückgeben, bei denen der aktive Status auf True festgelegt ist.Filter Invoke-RestMethod Ergebnisse

$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 

Es gibt derzeit alle diese Details zurück. Alles, was ich brauche, ist nur der Code, wenn 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 

Antwort

5

Gerade Rohr$var zum Where-Object Cmdlets und filtern sie:

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

ziemlich sicher, Sie brauchen '" '' um true' – 4c74356b41

+0

@ 4c74356b41 ziemlich sicher, dass Sie dies nicht tun ;-) –

+0

@ 4c74356b41 Probieren Sie es einfach aus: '[PSCustomObject] @ {Name =" True "}, [PSCustomObject] @ {Name =" False "} | Where-Objektname -eq True' –

Verwandte Themen