2016-03-05 27 views
1

我對powershell非常陌生,並試圖編寫腳本,將我的網站和服務器上的FTP站點綁定到多主機服務器特定適配器上的IP地址。僅列出特定適配器的IP地址

服務器有兩個適配器:中小學

我使用下面的命令:

$AvailableIPs = @(Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object { $_.IPAddress -ne $Null } | Select-Object -ExpandProperty IPAddress) 

,這讓我的所有IP地址的機器上小學和中學。

我需要獲取列表,如果IP地址只來自輔助適配器。 這種情況下,輔助適配器的名稱將不會保持不變,但主適配器的名稱將保持不變,因此我需要對主適配器的名稱進行-ve匹配。

如何在同一命令中放置兩個-ve匹配項? 像這樣的東西不起作用:

$AvailableIPs = @(Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object { $_.IPAddress -ne $Null } | Where-Object { $_.Description -ne "<Primary Adapter Name>"} | Select-Object -ExpandProperty IPAddress) 

什麼是從 Win32_NetworkAdapterConfiguration類,這是不爲空,並且沒有「有些名」的說明添加到列表的語法?

回答

1

更改到任何你想要的「SomeText」則會...

$AvailableIPs = Get-WmiObject Win32_NetworkAdapterConfiguration | 
? {$_.IPEnabled -and $_.Description -notmatch "sometext"} | 
Select -ExpandProperty IPAddress 

你並不需要使用一個以上的Where-Object?別名)條款,你可以在上面的例子中加入他們喜歡,

您也可以從-notmatch操作改爲-ne(不等於),如果你有恆定的特定名稱

+0

太謝謝你了! 完美的作品:) 已經upvoted你的迴應,但看起來像我nee一些minumum點爲了得到顯示 –

+0

歡迎您,獲取更多信息,'get-help about_Comparison_operators'和https://technet.microsoft.com /en-us/library/ee177028.aspx – Avshalom