这个批处理,是我在实际环境中用了几年,不断修改、完善测试,分享给大家。
1.在XP/win7/win8环境下测试通过。
1.随着这几年win7的普及,win8也开始应用,再加上微软停止对XP系统的升级,企业中XP/Win7/win8混合使用的情况比较很常见,旧电脑跑不动win7的就装XP继续用,配置还OK的,就装win7,一些其它人士如IT人员,或者领导新买的笔记本等或者想尝鲜的人士,装win8的情况比较常见,这些都可以是批处理的用武之地。
2.这个批处理需要以管理员权限运行,XP、win7通常都是管理员账号,双击就行了,win8有点不同,win8运行这个批处理要右键选择管理员权限运行,否则会报错。
3.实际当中运行这个批处理,如果电脑上安装有杀毒软件或者安全卫士类软件,通常会对批处理进行拦截,请允许运行或者暂停安全软件保护。有的安全软件,批处理运行起来会给个提示,不好的直接给你禁止运行,或者提示你是风险软件提示删除,对于某数字杀毒软件,我一直恨之入骨,尼玛跟个女人一样��嗦,只要是用批处理改点什么系统信息,总会默认就拦截甚至是直接给你关了,通常我是见一个卸载一个,在实际工作中,面对用户的疑问,不知道要费多少口水解释,还得要人家把安全软件退出。
2.支持多网卡环境。采用新的判别方法,可以识别任意网卡名称。
1.多网卡环境常见的情况是电脑安装了虚拟机的环境下。
2.在以前,我采用的判别方法是 本地连接,一般情况能够适用,一般联网的网卡通常都叫本地连接,但特殊情况下,就不行了,如操作系统是win8.1,这个不叫本地连接,叫Ethernet0,win8.1系统的笔记本叫 以太网,英文版的XP/win7叫做 Local Area Connection,或者手动可以修改本地连接,随意字符只要系统支持,以前采购本地连接这个词作判别,遇上这种情况就歇菜了,更新判别方法后,就不受连接名称限制。
3.具备简单的错误信息判别和提示,在没有收集到MAC的机器上会智能退出。
虽然只是加了一个简单的判断,但是我确实是走了不少弯路。
1.批处理中不存在预设的MAC项,常见的情况就是在公司,批处理集成到一个ghost系统镜像,一个镜像打弄下,来一台装一台,来两台装两台,多点的可以搞个网络克隆,机器有可能是现有的机器重装系统MAC,统计在内,这还好,批处理正好发挥他的作用,要是是新买的或者员工私人的,或者是没统计到MAC的,装完系统进桌面要做的第一件事,就是赶紧的把批处理关了,当个技术人员或者网管,人家找你装系统,是常有的事。公司的,私人的,通常都一个镜像ghost过去。
2.自己在测试批处理的时候,遇到很多情况,无法成功运行,以前一运行下来,黑屏一闪,过了,成功没有都不知道,还得一个步骤一个步骤去检查,有了这些提示判别信息,自己看着也舒服点。
3.在网络克隆批量装系统的情况下,如果你不能绝对保证你每台机器信息修改都OK的话,有的时候,你信心满满的认为没问题,结果就偏偏出了问题,最靠谱的方法当然是对结果一一检查。装一台机器还好,我以前遇到过给一个机房70多台电脑网络克隆的情况,结果有部分机器就出了问题,一台电脑检查下要30秒,你也要半小时,还真是痛苦,如果屏幕有个提示,至少人就不用点了。
4.在企业环境,发给员工运行时,运行有没有问题,他也可以看出来,有没有出错,至少还可以戴个图给你,你也大致明白,问题出在哪个步骤。
批处理、用户模板、使用说明下载地址
http://pan.baidu.com/s/1pJwl9Ib
使用方法
1.按照自己实际情况修改excel 用户信息模板,所有的项都要填写完整。
2.右键编辑 根据MAC修改计算机名v2.5.bat 把用户信息直接从excel用户信息模板表中复制到批处理后面,保存批处理再运行。
3.本批处理会自动提取批处理后面预设的值,根据MAC修改计算机名为 拼音-设备类别 修改当前登录用户名为 工号 修改计算机注释为。 子部门-姓名
下面为批处理后面预设的值,批处理会根据当前机器的MAC自动提取相应的信息。
::部门-i 子部门-j 姓名-k 工号-l 拼音-m 设备类别-n IP地址-o 标准MAC-p 标准MAC2-q
技术部 运维分部 小黑侠 SN000427 XiaoHeiXia DT 192.168.102.129 00-0C-29-9A-5C-C3 000C298919F0
4.win8.1系统请右键选择以管理员身份运行,否则会报错。
5.如有什么需要改善的意见或者建议,或者使用遇到什么问题,欢迎加QQ群:342116629交流。
附:批处理源代码
@echo off title 根据MAC地址修改计算机名批处理,支持XP/Win7/Win8.1操作系统,Edit by foreverlx427 echo **************************************************************************** echo 温馨提示1:请根据自己的实际情况,按指定格式编辑本批处理后面的用户信息。 echo 温馨提示2:如有安全类软件拦截,请允许运行。 echo 温馨提示3: win8.1系统请右键选择以管理员身份运行,否则会报错。 echo **************************************************************************** @ping 127.1 -n 4 >nul ::*************** 1.获取本机MAC地址,并在外置文本信息中找匹配项 *************** cd /d %~dp0 for /f "tokens=1-4 delims=," %%i in ('getmac /v /fo csv') do find /i %%k %0 >nul &&set Ethernet=%%i&&set Adapter=%%j&&set MAC=%%k &&goto true echo 未找到匹配MAC项,本程序在5秒后退出&del a.txt >nul&@ping 127.0.0.1 -n 5 >nul &exit :true ::*************** 2.去掉MAC地址的空格和引号 *************** set "MAC=%MAC: =%" set MAC=%MAC:"=% set Ethernet=%Ethernet:"=% set Adapter=%Adapter:"=% :: 3MAC -%MAC%- Ethernet -%Ethernet%- Adapter -%Adapter%- :: *************** 3.信息汇总 *************** for /f "tokens=1-8" %%i in ('find /i "%mac%" %0') do set "name=%%m-%%n"&set "p=%%j%%k"&set "user=%%l" echo **************************************************************************** echo 本机预设信息,5秒后自动应用修改,如有错误,请关闭本窗口手动修改 echo **************************************************************************** echo 计算机名: %name% (当前名称:%computername%) echo 计算机注释: %p% echo 用户名: %user% (当前名称:%username%) echo 网络名称 %Ethernet% echo 适配器名称 %Adapter% echo 本机MAC地址 %mac% echo **************************************************************************** :: *************** 4.修改配置 *************** @ping 127.1 -n 5 >nul echo 1.正在修改计算机注释…… reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\LanmanServer\Parameters" /v "srvcomment" /t reg_sz /d %p% /f >nul &&echo 修改计算机注释1/2成功|| echo 修改计算机注释1/2失败 reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters" /v "srvcomment" /t reg_sz /d %p% /f >nul &&echo 修改计算机注释2/2 成功|| echo 修改计算机注释2/2失败 echo 2.正在修改计算机名…… reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName" /v "ComputerName" /t reg_sz /d %name% /f >nul &&echo 修改计算机名1/4 成功|| echo 修改计算机名1/4 失败 reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %name% /f >nul &&echo 修改计算机名2/4 成功|| echo 修改计算机名2/4 失败 reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v "ComputerName" /t reg_sz /d %name% /f >nul &&echo 修改计算机名3/4 成功|| echo 修改计算机名3/4 失败 reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %name% /f >nul &&echo 修改计算机名4/4 成功|| echo 警告:修改计算机名4/4 失败 &&echo 修改系统信息失败,请检查当前用户权限是否为管理员,若不是,请尝试以管理员身份运行;或者是否有安全程序阻止本批处理运行,如果是win8系统,记得在右键选择以管理员身份运行,请按任意键退出 &&pause>nul&&exit echo 3.正在修改当前用户名%username%为预设用户名%user%…… wmic useraccount where name='%username%' call Rename %user% >nul &&echo 修改用户名1/1 成功|| echo 修改用户名1/1 失败 echo 4.正在修改当前用户名%user%的全名为%p%…… wmic useraccount where name='%user%' set FullName="%p%" >nul &&echo 修改用户名全名1/1 成功|| echo 修改用户名全名1/1 失败 echo 所有操作已经完成,10秒后自动退出,感谢你的使用,如有问题,请反馈至QQ群:342116629 @ping 127.1 -n 10 >nul&exit ::部门-i 子部门-j 姓名-k 工号-l 拼音-m 设备类别-n IP地址-o 标准MAC-p 标准MAC2-q 技术部 运维分部 小黑侠 SN000427 XiaoHeiXia DT 192.168.102.129 00-0C-29-9A-5C-C3 000C298919F0 技术部 运维分部 张三 SN000428 ZhangSan DT 192.168.102.130 00-0C-29-5B-E7-99 000C295BE799 技术部 运维分部 李四 SN000429 LiSi DT 192.168.102.131 00-0C-29-97-F0-4A 000C2997F04A