2016-01-05 35 views
0

我有這樣的數據的集合:過濾器集合不是?

server : ExchangeServer 
drive : C: 

server : ExchangeServer 
drive : R: 

server : DomainController 
drive : C: 

server : AnOtherServer 
drive : C:

我想是排除和服務器稱爲帶的ExchangeServer驅動器R:從集合。

我曾嘗試:

$PerfCollection | Where-Object -FilterScript { 
    $_.drive –eq "R:" -and $_.server -like "*ExchangeServer*" 
} 

但收集最終只是一個Exchange服務器有R的列表:驅動器?

是否有Where-Object的「不」選項?

+2

' - 不是(表達)' – PetSerAl

+1

貿易當量爲-ne – mjolinor

+2

@mjolinor這本身是不夠的。您還必須將'-and'更改爲'-or',否則它將排除不帶驅動器'R:的Exchange服務器或不帶有驅動器'R:'的服務器。 '!(A^B)<=>!A v!B' –

回答

2

您當前的狀態選擇作爲Exchange服務器的元素,並具有驅動器R:。爲了排除具有驅動R: Exchange服務器,你需要反轉該條件:

$PerfCollection | Where-Object -FilterScript { 
    -not ($_.drive –eq "R:" -and $_.server -like "*ExchangeServer*") 
}