批处理解决计算机重名问题
大D最近在某处上班,虽然只干很短的时间,不过遇到问题解决问题这是大D的风格,哇咔咔。。。
背景
最近有83台机器要搞,于是使用Ghost网络服务器多播的方式来解决。
配置都一样,所以比较适合采用将一台机器做好,整盘做成一个Gho镜像,然后直接播到下面的机器上。
但是这样就遇到了一个问题,由于是将一个做好的系统直接恢复到其他机器,这样计算机名和NetBios名都是一样的。
也就导致了计算机重名的问题。
伟大领袖XXX教导我们说:“能解决的问题都不是问题。”
于是,写个批处理来帮助解决吧。
前置知识
主机名 是一个网络中唯一标识一台机器的名称。
NetBIOS是80年代末为了利用IBMPc构建局域网而出现的一种MS-DOS程序的高级语言接口。为了利用网络硬件和软件将这些计算机连接在一起组成局域网,微软和其它供应商利用NetBIOS接口来设计它们的网络组件和程序。NetBIOS接口利用最多为16个字符的名称来标识每一个网络资源。
简而言之,这些东西都跟网络有关的。
批处理
不说啥了,贴代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
@echo off echo 自动修改计算机名及NetBIOS名脚本 V1.0 echo Automatically modify the computer name and the NetBIOS name of the script V1.0 echo code by derek.s echo 2013-07-16 rem 计算机名格式为:PC-当前日期当前秒数随机数 rem 计算机名示例:PC-13071823123 set name=PC-%date:~2,2%%date:~5,2%%date:~8,2%%time:~6,2%%random:~0,3% reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v ComputerName /t reg_sz /d %name% /f >nul 2>nul reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t reg_sz /d %name% /f reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %name% /f >nul 2>nul reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v Hostname /t reg_sz /d %name% /f >nul 2>nul reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\lanmanserver\Parameters" /v srvcomment /t reg_sz /d %name% /f echo echo 修改工作全部完成即将重启 shutdown -r -t 03 rem 如果不需要放入启动项并使其运行后删除,请删除下面的代码 rem C:\Documents and Settings\Administrator\「开始」菜单\程序\启动 路径根据你的需要调整 cd /d C:\Documents and Settings\Administrator\「开始」菜单\程序\启动 del RCN.bat |
切记要保存成ANSI编码,否则会有悲剧。
代码中高亮行为实际修改注册表键值的地址。
如果不需要批处理来解决,直接去regedit改注册表也OK。
传说中的工作中随拍照片
累惨了,睡觉去~~
版权声明
转载保留版权: 大D技研室 | 《批处理解决计算机重名问题》
本文链接地址:https://www.dadclab.com/archives/3602.jiecao
转载须知:如果您需要转载本文,请将版权信息,版权授权方式,以及本文的链接地址注明,谢谢合作。
已有 19 条评论
发表评论
电子邮件地址不会被公开。 必填项已标注。
我看了你好像是时间+随机数。
如果要把这些计算机连续编号应该如何实现呢?我们公司的电脑机器名编号大概是:
北京地区:
台式机:EPEKW-Q110001~EPEKW-Q1100600
笔记本:EPEKL-Q110001~EPEKL-Q1100500
拉斯维加斯:
LASW-Q110001 开始编号。
类似于这样。
毕竟一串无意义的数字好像不太实用啊。
@刀之魂 这一堆机器交付客户之后,客户自己都是随机分配给各个办公室的,也有一些要配发到呼伦贝尔的其他的旗县区,所以也就懒得搞编号的问题了,干脆就随机生成就好了。哈哈。。
@刀之魂
region + machine_type + QID
按照Lieo给的实例可以这样做。考虑到机群都固定载一个地方,所以region一般是不变的,可以把所有的regions放一个线性表里,而machine_type应该也不会混合编号,所以也可以考虑用一个指示器去区分。后面就是ID累加了吧~
@大D
代码前段的两句英文不太对
@Kingsam Chen 我Google机翻的,鄙人英语很渣的。哇咔咔
@刀之魂
Windows重名只是NetBOIS协议支持的各种服务会有问题。非NetBOIS服务就没有问题。
你可以写个Http服务器,用来集中生成机器号,各客户端访问服务器获取编码,然后重命名。
@Kingsam Chen
你这不和没说一样嘛。。。
@dave
这样太麻烦了。。。你绝对想不到我们公司的天才做法。。。
@刀之魂 难道是一个一个手工改的?
@刀之魂 求解释方法。
@刀之魂 请讲
6台主机堆一起亮瞎我。。。
@佳佳酱才是小黑呢 哈哈,还好吧。当年在DELL的维修站干工程师的时候,最多弄过15台一摞的。
这些让我继续YM大D
YM大D +10086
发现最新评论和原有评论间存在错位,不知是否是BUG?
@hcl 这个不是bug,默认就是这样的。最新评论移动一下位置,然后左边框颜色不同
这电脑数量太凶残 = =
@dej.sf 这不是重点,哇咔咔