如何实现利用MAC地址更改IP,DNS,计算机名

如何实现利用MAC地址更改IP,DNS,计算机名,第1张

可以试试这个批处理,我测试下是能改的,使用方法就是把你的电脑ip、mac、计算机名等信息都用excel编辑好,粘贴在脚本最下面就行了;

ps:来源于网络……

@echo off

::1.设置环境变量

set MASK=255.255.255.0

set GATEWAY=192.168.31.1

set DNS1=202.101.172.35

set DNS2=202.101.172.48

set WINS=192.168.31.1

set run_log=%temp%\run_log.txt

::2.运行环境检查

echo. >%run_log%

echo. >>%run_log%

echo ======================================>>%run_log%

echo 运行时间 %date% %time% >>%run_log%

echo ======================================>>%run_log%

del %temp%\mac.txt >nul 2>nul

del %temp%\a.txt >nul 2>nul

wmic nic >nul 2>nul

wmic nic >nul 2>nul >%temp%\a.txt &&(find /i "MACAddress" %temp%\a.txt >nul 2>nul || echo ************运行权限不够,请以管理员运行***************** >>%run_log% &&start %run_log% &&exit)

::3.获取本机所有MAC,地址,格式为 XX-XX-XX-XX-XX-XX

wmic nic get MACAddress >%temp%\name.txt &&for /f "skip=1" %%i in ('type %temp%\name.txt') do for /f "tokens=1-6 delims=:" %%I in ("%%i") do echo %%I-%%J-%%K-%%L-%%M-%%N>>%temp%\mac.txt

::4.将获取到的本机MAC地址逐一到本批处理后面的列表去查找,匹配的通常是本地连接的MAC连接,将匹配的MAC地址保存下来。

:: 注1:这种方式可以应对电脑上安装虚拟机,或者机器是win7及以上的系统,会有多个MAC。

:: 注2:至少要有一个匹配MAC,如果找不到任何匹配MAC,则报错退出。这可以避免在没有收集MAC的机器上运行时,错误修改原来的信息。

del %temp%\exist-mac.txt >nul 2>nul

for /f %%i in (%temp%\mac.txt) do find /i "%%i" %0 >nul 2>nul &&echo %%i>%temp%\exist-mac.txt

if exist %temp%\exist-mac.txt (for /f %%i in (%temp%\exist-mac.txt) do set MAC=%%i) else (echo ************未找到匹配的MAC项,中断批处理执行************ >>%run_log% &&start %run_log% &&exit)

::5.获取找到MAC地址对应的网络连接名称,通常是本地连接,

:: 注1:对于一些多网卡环境,如机器装有多块网卡,会生成本地连接 2的名称, 注意:2前面有个空格,

:: 注2:还有一种情况,本地连接的名称被改,在学校机房,干这种事情的人大有人在

for /f "tokens=1-6 delims=-" %%i in ("%MAC%") do set MAC1=%%i:%%j:%%k:%%l:%%m:%%n

wmic nic where MACaddress="%MAC1%" get NetConnectionID >%temp%\mac1.txt &&for /f "tokens=* skip=1" %%i in ('type %temp%\mac1.txt') do if NOT "%%i"=="" set NetConnectionID=%%i

:intercept

if "%NetConnectionID:~-1%"==" " set "NetConnectionID=%NetConnectionID:~0,-1%"&goto intercept

::6.获取预设的计算机名\IP地址\计算机描述信息

for /f "tokens=1-4" %%i in ('more /e +10 %0 ^|find /i "%mac%"') do set name=%%i&&set IP=%%j&& set desc=%%l

if "%name%"=="" (echo ********************匹配MAC预设计算机信息不存在,本程序将退出******************** >>%run_log% &&start %run_log% &&exit)

if "%ip%"=="" (echo ********************匹配MAC预设IP地址信息不存在,本程序将退出******************** >>%run_log% &&start %run_log% &&exit)

if "%desc%"=="" (echo ********************匹配MAC预设计算机描述信息不存在,本程序将退出****************** >>%run_log% &&start %run_log% &&exit)

for /f "tokens=1-3 skip=2" %%i in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\lanmanserver\parameters" /v srvcomment 2^>nul') do set current_desc1=%%k

for /f "tokens=1-3 skip=2" %%i in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" /v srvcomment 2^>nul') do set current_desc2=%%k

for /f "tokens=1-3 skip=2" %%i in ('reg query "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName 2^>nul') do set current_name1=%%k

for /f "tokens=1-4 skip=2" %%i in ('reg query "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" 2^>nul') do set current_name2=%%l

for /f "tokens=1-3 skip=2" %%i in ('reg query "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v Hostname 2^>nul') do set current_name3=%%k

wmic nicconfig where MACaddress="%MAC1%" get IPaddress>%temp%\a.txt &&for /f "skip=1 delims=,{} " %%i in ('type %temp%\a.txt') do set current_ip=%%~i

wmic nicconfig where MACaddress="%MAC1%" get IPSubnet>%temp%\a.txt &&for /f "skip=1 delims=,{} " %%i in ('type %temp%\a.txt') do set IPSubnet=%%~i

wmic nicconfig where MACaddress="%MAC1%" get DefaultIPGateway>%temp%\a.txt &&for /f "skip=1 delims=,{} " %%i in ('type %temp%\a.txt') do set DefaultIPGateway=%%~i

wmic nicconfig where MACaddress="%MAC1%" get DNSServerSearchOrder >%temp%\a.txt &&for /f "tokens=1-8 skip=1 delims=,{} " %%i in ('type %temp%\a.txt') do set current_DNS1=%%~i&set current_DNS2=%%~j&set DNS3=%%~k& set DNS4=%%~l

wmic nicconfig where MACaddress="%MAC1%" get WINSPrimaryServer>%temp%\a.txt &&for /f "skip=1 delims=,{} " %%i in ('type %temp%\a.txt') do set WINSPrimaryServer=%%i

echo. **************************信息汇总********************************

echo 网络连接名称【%NetConnectionID%】

echo MAC地址为 【%mac%】

echo 当前IP地址 【%current_ip%】 预设IP地址 【%IP%】

echo 当前子网掩码【%IPSubnet%】 预设子网掩码 【%MASK%】

echo 当前默认网关【%DefaultIPGateway%】 预设默认网关 【%GATEWAY%】

echo 当前DNS1【%current_DNS1%】 预设DNS1 【%DNS1%】

echo 当前DNS2【%current_DNS2%】 预设DNS2 【%DNS2%】

echo 当前WINS服务器 【%WINSPrimaryServer%】 预设WINS服务器 【%WINS%】

echo.

echo 当前计算机名【%current_name1%】 预设计算机名 【%name%】

echo 当前描述【%current_desc1%】 预设计算机描述 【%desc%】

echo. *********************************************************************

echo.

::7.执行判断、修改计算机名\IP地址\计算机描述信息

if "%current_desc1%"=="%desc%" (echo 计算机注释1符合要求,跳过修改>>%run_log% ) else (echo 正在修改计算机注释1 &% add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\lanmanserver\parameters" /v srvcomment /t reg_sz /d %desc% /f >nul 2>nul&&echo 修改计算机注释1成功 >>%run_log% || echo ********************修改计算机注释1失败 ******************** >>%run_log%)

if "%current_desc2%"=="%desc%" (echo 计算机注释2符合要求,跳过修改>>%run_log%) else (echo 正在修改计算机注释2 &% add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" /v srvcomment /t reg_sz /d %desc% /f >nul 2>nul &&echo 修改计算机注释2成功>>%run_log% || echo ********************修改计算机注释2失败 ******************** >>%run_log%)

if "%name%"=="%current_name1%" (echo 计算机名1符合要求,跳过修改>>%run_log%) else (echo 正在修改计算机名1 &% add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t reg_sz /d %name% /f >nul 2>nul &&echo 修改计算机名1成功 >>%run_log% || echo ********************修改计算机名失败 ******************** >>%run_log%)

if "%name%"=="%current_name2%" (echo 计算机名2符合要求,跳过修改>>%run_log%) else (echo 正在修改计算机名2 &&reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %name% /f >nul 2>nul&&echo 修改计算机名2成功 >>%run_log% || echo ********************修改计算机名失败 ******************** >>%run_log%)

if "%name%"=="%current_name3%" (echo 计算机名3符合要求,跳过修改>>%run_log%) else (echo 正在修改计算机名3 && reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v Hostname /t reg_sz /d %name% /f >nul 2>nul&&echo 修改计算机名3成功 >>%run_log% || echo ********************修改计算机名失败 ******************** >>%run_log%)

if "%current_ip%"=="%IP%" (echo IP地址符合要求,跳过修改>>%run_log%) else (set change_pro=IP地址)

if "%IPSubnet%"=="%MASK%" (echo 子网掩码符合要求,跳过修改>>%run_log%) else (set change_pro=%change_pro%、子网掩码)

if "%DefaultIPGateway%"=="%GATEWAY%" (echo 默认网关地址符合要求,跳过修改>>%run_log%) else (set change_pro=%change_pro%、默认网关)

if "%change_pro%"=="" (echo IP地址\子网掩码\默认网关符合要求,跳过修改>>%run_log%) else (echo 正在修改%change_pro% && netsh interface ip set address "%NetConnectionID%" static %IP% %Mask% %GATEWAY% 1 >nul 2>nul &&echo 修改%change_pro%成功 >>%run_log% || echo ********************修改%change_pro%失败 ******************** >>%run_log%)

if "%current_DNS1%"=="%DNS1%" (echo DNS1地址符合要求,跳过修改>>%run_log%) else (echo 正在修改DNS1地址 && netsh interface ip set dns "%NetConnectionID%" static %DNS1% register=PRIMARY >nul 2>nul &&echo 修改DNS1地址成功 >>%run_log% || echo ********************修改DNS1地址失败 ******************** >>%run_log%)

if "%current_DNS2%"=="%DNS2%" (echo DNS2地址符合要求,跳过修改>>%run_log%) else (echo 正在修改DNS2地址 && netsh interface ip add dns "%NetConnectionID%" %DNS2% index=2 >nul 2>nul &&echo 修改DNS2地址成功 >>%run_log% || echo ********************修改DNS2地址失败 ******************** >>%run_log%)

if "%WINSPrimaryServer%"=="%WINS%" (echo WINS地址符合要求,跳过修改>>%run_log%) else (echo 正在修改WINS地址 && netsh interface ip set wins "%NetConnectionID%" static %WINS% >nul 2>nul &&echo 修改WINS地址成功 >>%run_log% || echo ********************修改WINS地址失败 ******************** >>%run_log%)

start %run_log%

exit

::以下为预设信息区域

计算机名新规划地址MAC地址计算机描述

12F-JF01-A001192.168.31.73B8-97-5A-85-7C-C212楼机房A01

12F-JF01-A002192.168.12.10254-04-a6-66-bd-bd12楼机房A02

12F-JF01-A003192.168.12.10300-30-67-ba-0c-ac12楼机房A03

12F-JF01-A004192.168.12.10400-e0-62-0b-1f-6c12楼机房A04

12F-JF01-A005192.168.12.105bc-ae-c5-5d-65-c012楼机房A05

12F-JF01-A006192.168.12.10600-e0-66-02-29-5e12楼机房A06

12F-JF01-A007192.168.12.10750-e5-49-be-c0-dc12楼机房A07

12F-JF01-A008192.168.12.10800-e0-66-0d-71-d912楼机房A08

12F-JF01-A009192.168.12.10900-e0-66-02-dd-d812楼机房A09

步骤一:设置电脑IP

1、右击“网上邻居”——>点击“属性”

2、鼠标右击“本地连接”—>点击“属性”

3、鼠标双击“Internet协议(TCP/IP)”

3、选择“自动获得IP地址”和“自动获得DNS服务器地址”——>点击“确定”。

Windows 7和Windows 8用户可以阅读文章:电脑动态IP地址设置方法

步骤二:电脑无线连接到A5S

1、右键点击“无线网络连接”,选择“查看可用的无线连接”

2、选中名为Tenda_XXXXXX的无线网络(X为A6背面MAC地址的后六位),点击“连接”.

步骤三:设置腾达A5S路由器

宾馆模式:适合出差时入住酒店、宾馆;或从另一个路由器分线上网的用户。

1、在浏览器中输入192.168.2.1 按回车键——>在跳转的页面中输入密码:admin——>点击“登陆”。(如果192.168.2.1打不开,请阅读文章:腾达(Tenda)无线路由器192.168.2.1打不开的解决办法)

2、选择“宾馆模式”——>点击“下一步”。

3、配置腾达A5S无线网络,配置方法请参考下图:

4、点击“下一步”。

5、点击“完成”。

家用模式:适合办理宽带后,宽带运营商提供了一个宽带帐号和宽带密码,用户直接用电脑上网时需要点击“宽带连接”来拨号上网。

1、在浏览器中输入192.168.2.1 按回车键——>在跳转的页面中输入密码:admin——>点击“登陆”。

2、选择“家用模式”——>点击“下一步”。

3、配置腾达A5S无线网络,配置方法请参考下图:

4、填写下面的“上网帐号”和“上网密码”,就是办理宽带用宽带运营商提供的宽带用户名和密码——>点击“下一步”。

5、点击“完成”。

信号放大:适合之前有一台无线路由器,但无线信号覆盖范围有限;用户想要扩展该无线信号的覆盖范围时使用。

1、在浏览器中输入192.168.2.1 按回车键——>在跳转的页面中输入密码:admin——>点击“登陆”。

2、选择“无线信号放大模式”——>点击“下一步”。

3、点击“扫描上级AP站点信息”——>选择需要放大的无线信号——>输入需要放大的无线信号的连接密码——>点击“下一步”。

4、配置无线网络:设置“无线信号名称”,注意不要使用中文——>“安全模式”选择:WPA-PSK——>设置“密码”——>点击“下一步”。

5、“接入方式”选择:DHCP——>“下一步”。

6、点击“完成”,腾达A5S路由器会自动进行重启。

一、首先,打开Mac电脑,然后在桌面上点击“偏好设置”,点击打开。

二、然后,在“系统偏好设置”中点击“用户与群组”。

三、然后,在窗口中选择左下角的“小锁头”进行更改。

四、然后,在在对话框中输入电脑密码,进行操作。

五、然后,在管理员位置选择“高级选项”,点击打开。

六、最后,在“账户名称”位置修改Mac管理员的名字即可,问题解决。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/789631.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-25
下一篇2023-08-25

发表评论

登录后才能评论

评论列表(0条)

    保存