无忧启动论坛

标题: 有一份txt存着MAC和主机名对应关系,如何根据本机MAC地址自动修改主机名? [打印本页]

作者: oar    时间: 2021-12-28 15:42
标题: 有一份txt存着MAC和主机名对应关系,如何根据本机MAC地址自动修改主机名?
目的是:
重装系统时候自动重命名电脑名字,命名规则就是根据已经整理的mac和hostname对应关系
(可以预先把MAC和HOSTNAME对应关系塞入注册表,以利脚本判断和重命名操作)
作者: 邪恶海盗    时间: 2021-12-28 15:54
写个脚本程序根据MAC读出HOSTNAME写入注册表,用.txt麻烦,最好用.ini...
作者: szwp    时间: 2021-12-28 15:57
for+reg
作者: as8686886    时间: 2021-12-28 17:28
找个这种类似工具就可以,网吧IP更改器
作者: sunsea    时间: 2021-12-28 17:36
本帖最后由 sunsea 于 2021-12-28 17:40 编辑

假设你的机器版本比较新,ipconfig /all出来的是中文:
  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION
  3. for /f "tokens=2 delims=:" %%c in ('ipconfig /all ^| find /i "物理地址"') do (
  4.         set tempstr=%%c
  5.         set tempmac=!tempstr:~1!
  6.         for /f "tokens=1,2" %%p in (computernames.txt) do if "%%p"=="!tempmac!" reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t reg_sz /d %%q /f
  7. )
  8. pause

复制代码

以ANSI编码保存,右键管理员运行。运行完后重新启动系统,要求computernames.txt在同目录,格式为
  1. MAC地址 计算机名
复制代码

  1. 11-22-33-44-55-66 张三的计算机
  2. 11-22-33-44-55-00 李四的计算机
复制代码

作者: promrhxq    时间: 2021-12-28 18:03
记得以前冰点还原,装完以后,可以自动执行命令修改计算机名来着
作者: cybermay    时间: 2021-12-28 19:24
有没有现成的啊

作者: 江南一根葱    时间: 2021-12-28 21:10
应该简单,for一下,根据mac取出计算机名

wmic computersystem where "name='%computername%'" call rename "%取出的计算机名%"
作者: lr    时间: 2021-12-29 00:50
学习一下大佬们
作者: zhxy9804    时间: 2021-12-29 09:49
这个题我会,因为当年就是这么搞网络克隆的,
@echo off
color 1f
::===================================================================================
title 正在生成配置文件……

@echo off
echo  [计算机名]   [IP地址]         [Mac地址]         [内部网络号]        [CS-CDKey]   >配置文件.txt
echo        WL-004        192.168.163.4        00-0B-2F-1B-6B-F2        00000004        0076904389094        >>配置文件.txt
echo        WL-005        192.168.163.5        00-0B-2F-1C-0B-4D        00000005        0143005967914         >>配置文件.txt
echo        WL-006        192.168.163.6        00-E0-4C-03-10-77        00000006        0186166087129         >>配置文件.txt
echo        WL-007        192.168.163.7        00-0B-2F-1C-61-78        00000007        0203434253007        >>配置文件.txt
echo        WL-008        192.168.163.8        00-0B-2F-1C-61-83        00000008        0232034542501        >>配置文件.txt
echo        WL-009        192.168.163.9        00-E0-4C-8C-43-BD        00000009        0416231170064        >>配置文件.txt



::===================================================================================
title 查找本机mac,以便确定本机机器名、ip地址、内部网络号、CS1.5序列号!

@echo off
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt
if exist 本机Mac.txt del 本机Mac.txt
find "Physical Address" ipconfig.txt >本机Mac.txt
for /f "skip=2 tokens=12" %%M in (本机Mac.txt) do set strMac=%%M
find "%strMac%" 配置文件.txt >本机配置.txt
for /f "skip=2 tokens=1" %%N in (本机配置.txt) do set ComputerName=%%N
for /f "skip=2 tokens=2" %%I in (本机配置.txt) do set IPAddress=%%I
for /f "skip=2 tokens=4" %%V in (本机配置.txt) do set VirtualNetworkNumber=%%V
for /f "skip=2 tokens=5" %%C in (本机配置.txt) do set strCdkey=%%C
echo.
echo.                                             
echo [计算机名]    [IP地址]        [内部网络号]        [CS-CDKey]
echo %ComputerName%            %IPAddress%     %VirtualNetworkNumber%         %strCdkey%
echo.
echo.
::===================================================================================
title 正在修改机器名、ip地址、内部网络号、CS1.5序列号……

@echo off
echo Windows Registry Editor Version 5.00>本机配置.reg
echo.>>本机配置.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName]>>本机配置.reg
echo "ComputerName"="%ComputerName%">>本机配置.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]>>本机配置.reg
echo "NV Hostname"="%ComputerName%">>本机配置.reg
echo "Hostname"="%ComputerName%">>本机配置.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\NwlnkIpx\Parameters]>>本机配置.reg
echo "VirtualNetworkNumber"=dword:%VirtualNetworkNumber%>>本机配置.reg
echo [HKEY_CURRENT_USER\Software\Valve\CounterStrike\Settings]>>本机配置.reg
echo "Key"="%strCdkey%">>本机配置.reg
regedit /s 本机配置.reg

netsh interface ip set address name="本地连接" source=static addr=%IPAddress% mask=255.255.255.0 gateway=192.168.163.254 gwmetric=1
netsh interface ip set address name="本地连接" gateway=192.168.163.254 gwmetric=1
netsh interface ip set dns name="本地连接" source=static addr=202.102.152.3 register=PRIMARY
netsh interface ip add dns name="本地连接" addr=202.102.134.68 index=2
netsh interface ip set wins name="本地连接" source=static addr=none
::===================================================================================
title 重新启动计算机使设置生效!

@echo off

@echo off
shutdown -r -t 20 -c "修改本机ip成功,20秒后自动重启!"
del /s /q *.reg
del /s /q *.txt
del /s /q *.vbs
cd /d %USERPROFILE%\
del /s /q *.reg
del /s /q *.txt
del /s /q *.vbs
del /s /q *.cmd
del %0
作者: zhxy9804    时间: 2021-12-29 09:50
根据我的批处理删减即可
这是08年的时候我用的,给网吧批量克隆,为了省事
作者: iguaqq    时间: 2022-2-14 01:06
学习一个人




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3