使用PowerShell收集客户端MAC地址
生活随笔
收集整理的這篇文章主要介紹了
使用PowerShell收集客户端MAC地址
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
????再來分享一個項目上用到的PowerShell腳本,都是一些很簡單的PowerShell語句,這個腳本的功能主要是為了實現收集每臺客戶端機器上的MAC地址,然后輸出到記事本文件當中,本例中分享的腳本是將結果輸出到客戶端的桌面上,當然為了統計方便也可以統一輸入到一個文件服務器中。下邊來看腳本內容
????
Import-Module?NetAdapter $path?=?[Environment]::GetFolderPath("Desktop")?+?"\MacAddress.txt" Add-Content?$path?"$env:COMPUTERNAME?中有如下網絡適配器,Mac地址分別為:`r`n" $rules?=?"\b[0-9,a-z]\b" foreach?($id?in?(Get-NetAdapter).InterfaceIndex) {$name?=?(Get-NetAdapter?-InterfaceIndex?$id).name$count?=?0for?($i?=?0;?$i?-lt?$name.length;?$i++){if?($name[$i]?-notmatch?$rules?-and?$name[$i]?-ne?"?"?-and?$name[$i]?-ne?"("?-and?$name[$i]?-ne?")"){$count++}}$length?=?30?-?$name.length?-?$countAdd-Content?$path?"$name?$('?'?*$length)??Mac地址為:$((Get-NetAdapter?-InterfaceIndex?$id).MacAddress)" } Add-Content?$path?"==================================================================="這個腳本說實話按語法來說實在是沒啥可說的,都是很簡單的語法
不過我覺得唯一勉強算得上亮點可能是輸出到記事本中對于中文的處理,眾所周知的是因為中文按照兩個字符,所以輸出到記事本中的文本不管怎么樣始終都無法對齊,這樣看著實在別扭,如果適配器名稱是中文就會看到這一行會比其他英文行凸出來一些,這個效果還是挺惡心人的 對于一個強迫癥來說這個不能忍,試了試各種編碼方式都沒辦法解決,看來只有來一個個判斷了!這里用到了一個簡單的正規表達式來判斷是否是英文,因為表達式中沒包括()和空格,所以只能在后期的語句里又加入了對于這部分的判斷,總體上是可以區分出適配器名稱中的中英文了,有了這樣的邏輯語句,輸出整齊的內容就不再是什么問題了。如果有興趣可以試試直接將結果輸出到記事本是什么效果。
這次就介紹到這了,希望能對大家有哪怕稍微一絲的幫助
轉載于:https://blog.51cto.com/mxyit/1658116
總結
以上是生活随笔為你收集整理的使用PowerShell收集客户端MAC地址的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (笔试题)将数组分成两组,使两组的和的差
- 下一篇: 广播...