(1)

執行

PS C:\Joseph> if((ping 140.112.107.132 | Where-Object {$_ -like "*(0% loss)*"}) -eq $null){"The computer is dead"}else{"The computer is alive"}

回傳
The computer is alive

ping是作業系統本來就有的工具
我們利用它來確定是否可以連上對方的主機

ping傳回的結果是一堆文字
若可以連上對方的主機且沒有packet漏掉
則會出現 (0% loss) 的字串

我們利用Where-Object將ping傳回的結果逐行比對
$_ 代表每一列的字串
-like 代表字串需與指定字串相符
"*(0% loss)*" 代表字串中要有(0% loss)且 由於前後有* 因此表示前後可以有任何字元


若沒有出現(0% loss) 的字串
則將沒有字串被輸出
因此結果會等於Null  (PowerShell 以$null代表Null)
所以會回傳The computer is dead
反之則回傳The computer is alive

 

(2)

執行

PS C:\Joseph> ipconfig /All| Where-Object {$_ -like "*IP Address*" -or $_ -like "*phy*" -or $_ -like "*Host name*" -or $_ -like "*Ethernet adapter*"}

 

回傳

Host Name . . . . . . . . . . . . : JosephNB
Ethernet adapter 區域連線:
Physical Address. . . . . . . . . : 00-0F-B0-96-AC-F8
Ethernet adapter 無線網路連線:
Physical Address. . . . . . . . . : 00-13-CE-7D-2B-E2
IP Address. . . . . . . . . . . . : 192.168.2.112


ipconfig是作業系統本來就有的工具
我們利用它來檢視系統有關網路相關的組態

我們可利用Where-Object從ipconfig傳回的結果中擷取我們想看到的資訊
例如主機名稱,IP Address以及網卡編號

    全站熱搜

    ayowu 發表在 痞客邦 留言(2) 人氣()