设为首页 收藏本站
查看: 1072|回复: 0

使用PowerShell收集客户端MAC地址

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-6-4 08:37:19 | 显示全部楼层 |阅读模式
   再来分享一个项目上用到的PowerShell脚本,都是一些很简单的PowerShell语句,这个脚本的功能主要是为了实现收集每台客户端机器上的MAC地址,然后输出到记事本文件当中,本例中分享的脚本是将结果输出到客户端的桌面上,当然为了统计方便也可以统一输入到一个文件服务器中。下边来看脚本内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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 = 0
    for ($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 - $count
    Add-Content $path "$name $(' ' *$length)  Mac地址为:$((Get-NetAdapter -InterfaceIndex $id).MacAddress)"
}
Add-Content $path "==================================================================="




这个脚本说实话按语法来说实在是没啥可说的,都是很简单的语法
不过我觉得唯一勉强算得上亮点可能是输出到记事本中对于中文的处理,众所周知的是因为中文按照两个字符,所以输出到记事本中的文本不管怎么样始终都无法对齐,这样看着实在别扭,如果适配器名称是中文就会看到这一行会比其他英文行凸出来一些,这个效果还是挺恶心人的 对于一个强迫症来说这个不能忍,试了试各种编码方式都没办法解决,看来只有来一个个判断了!这里用到了一个简单的正规表达式来判断是否是英文,因为表达式中没包括()和空格,所以只能在后期的语句里又加入了对于这部分的判断,总体上是可以区分出适配器名称中的中英文了,有了这样的逻辑语句,输出整齐的内容就不再是什么问题了。如果有兴趣可以试试直接将结果输出到记事本是什么效果。
这次就介绍到这了,希望能对大家有哪怕稍微一丝的帮助


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-73667-1-1.html 上篇帖子: 利用SHELL脚本自动拦截DDOS攻击 下篇帖子: shell脚本抓取问题进程 客户端
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表