Powershell Array procurar por chaves

2

Eu tenho uma matriz chamada $ a

echo $a dá:

url                                                               load                                                             
---                                                               ----                                                             
win-coll2.astest.org                                              9                                                                
win-coll.astest.org                                               110                                                              
win-coll4.astest.org                                              110                                                              
win-coll5.astest.org                                              140                                                              
win-coll3.astest.org                                              410 

agora eu quero saber, se a matriz contiver uma picada por exemplo: win-coll2.astest.org deve levar a true e win-coll7.astest.org deve levar a false

existe uma maneira correta de fazer isso sem um foreach ?

com foreach:

$IsInArray = false
$ProofString = "win-coll2.astest.org"
foreach( $item in $a){
  if($item.url -eq $ProofString){
    $IsInArray = true
  }
}
    
por Joel 19.12.2014 / 16:24

1 resposta

4

No powershell v4 (e possivelmente v3) você pode fazer o seguinte:

[PS] > $a.url -contains 'win-coll2.astest.org'
True
[PS] > $a.url -contains 'win-coll7.astest.org'
False

Caso contrário, acho que a maneira mais fácil e menos dolorosa é: foreach ou foreach-object ...

    
por 19.12.2014 / 16:35

Tags