自动获取计算机名、用户名、IP地址、子网掩码和默认网关

来源:互联网 发布:欧美 知乎 编辑:程序博客网 时间:2024/06/05 11:52

本单位有很多计算机设备(成千上万),现需要统计计算机名、用户名、MAC地址、IP地址、默认网关、子网掩码信息,咋办捏。

有些可能通过网络管理员在路由器上部署脚本实现,有些可能写个扫描器针对地址段扫描,这些成本都较高且本单位管理相当严格,这都是坚决不允许的(直接违反规定)。

OK,最简单的就是写个小程序,自动获取后显示计算机信息。给单位各部门下个通知让他们运行程序,将信息通过邮件汇总即可,注意因为制度问题,不允许直接写个C/S结构的程序,所以写的是本地程序(不连接网络)。

OK,程序运行效果如下,点击复制信息按钮后计算机信息会自动复制到粘贴板(PS,马赛克不会,直接涂了)。
这里写图片描述

简单说下实现过程,开发环境是Visual Studio 2013(猫哥感觉是最好用的VS版本),本程序是基于.net framework 2.0的(注意单位很多计算机是XP系统的,不要使用太高的.net framework版本以免操作系统不支持)。因为.net和windows就是一家人,微软已经将.net framework封装到牙齿了,所以对于获取计算机信息这样的小case,简直so easy,直接调用类库实现。

稍微需要注意的是,获取ip地址、子网掩码、网关等信息需要加载程序集System.Management。这里简单说下程序集,类似于java中的jar包,也是人家封装好的直接拿来用。右击项目名称添加引用即可,这个程序集是.net2.0自带的,不用到处去找。这里写图片描述

然后直接调用以下方法:

ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");ManagementObjectCollection nics = mc.GetInstances();

IP相关信息就在nics里面,获取之后输出到页面控件即可。

0 0
原创粉丝点击