有一批电脑,需要将每台电脑的网卡添加两个ip. 现在有两个脚本 脚本1可以实现更改ip,但实现不了一个网卡添加两个ip 脚本2可以设置两个ip,但是不能根据物理地址寻找设置怎么修改这两个脚本实现每个...
有一批电脑,需要将每台电脑的网卡添加两个ip. 现在有两个脚本
脚本1可以实现更改ip,但实现不了一个网卡添加两个ip
脚本2可以设置两个ip,但是不能根据物理地址寻找设置
怎么修改这两个脚本实现每个网卡添加两个ip
脚本1:
@echo off :: 使用说明 :: 注1:本批处理针对的环境是:需设置静态IP地址,子网掩码,网关,DNS,WINS服务器,要修改计算机名,计算机注释 :: 注2:使用本批处理的前提是已经统计好MAC地址及其对应的计算机名,IP地址,及计算机注释,在excel表中整理好直接粘贴,但顺序不能变 :: 注3:只需要用到修改计算机名的,不需要设置静态IP的,可将最后用netsh 命令设置IP、DNS、WINS服务器的代码删除即可 :: 注4:在XP/win7/win8/win10系统下测试通过,批处理要以管理员权限运行,注意,win8/win10要右键选择以管理员身份运行。 ::1.设置环境变量 set MASK=255.255.255.0 set GATEWAY=192.168.2.1 set DNS1= set DNS2= set run_log=%temp%\run_log.txt ::2.运行环境检查 echo. >%run_log?ho. >>%run_log?ho ======================================>>%run_log?ho 运行时间 ?te% %time% >>%run_log?ho ======================================>>%run_log?l %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 "?sc%"=="" (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 当前默认网关 【?faultIPGateway%】 预设默认网关 【%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%】 预设计算机描述 【?sc%】 echo. ********************************************************************* echo. ::7.执行判断、修改计算机名\IP地址\计算机描述信息 if "%current_desc1%"=="?sc%" (echo 计算机注释1符合要求,跳过修改>>%run_log% ) else (echo 正在修改计算机注释1 && add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\lanmanserver\parameters" /v srvcomment /t reg_sz /d ?sc% /f >nul 2>nul && echo 修改计算机注释1成功 >>%run_log% || echo ********************修改计算机注释1失败 ******************** >>%run_log%) if "%current_desc2%"=="?sc%" (echo 计算机注释2符合要求,跳过修改>>%run_log%) else (echo 正在修改计算机注释2 && add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" /v srvcomment /t reg_sz /d ?sc% /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 "?faultIPGateway%"=="%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%) echo 正在设置IP及子网掩码 cmd /c netsh interface ip set address name="本地连接" source=static addr=172.21.51.31 mask=255.255.255.192 gateway=172.21.51.1 gwmetric=0 echo 正在设置第二个IP及子网掩码 cmd /c netsh interface ip add address name="本地连接" addr=192.168.92.31 mask=255.255.255.0 start %run_log% exit
脚本2:
:: 设置IP地址 set /p choice=请选择设置类型(1:静态固定IP / 2:自动获取IP): echo. if "%choice%"=="1" goto ip1 if "%choice%"=="2" goto ip2 goto main :ip1 echo IP自动设置开始... echo. echo 正在设置IP及子网掩码 cmd /c netsh interface ip set address name="本地连接" source=static addr=172.21.51.31 mask=255.255.255.192 gateway=172.21.51.1 gwmetric=0 echo 正在设置第二个IP及子网掩码 cmd /c netsh interface ip add address name="本地连接" addr=192.168.92.31 mask=255.255.255.0 echo 设置完成 pause exit if errorlevel 2 goto main if errorlevel 1 goto end :ip2 echo IP自动设置开始.... echo. echo 自动获取IP地址.... netsh interface ip set address name = "本地连接" source = dhcp :echo 自动获取DNS服务器.... :netsh interface ip set dns name = "本地连接" source = dhcp @rem 设置自动获取IP echo 设置完成 pause exit if errorlevel 2 goto main if errorlevel 1 goto end :end
1、在电脑的右下角联网的图标,右键选择“打开网络和interner设置”。
2、在设置界面进入“网络和共享中心”。
3、网络和共享中心选择“更改适配器设置”。
4、选择网线连接的网卡右键选择“属性”。
5、在属性界面选择“interner协议版本4”,点击“属性”。
6、interner协议版本4设置中,点选“使用下面的IP地址”,输入IP地址。
7、不要着急点击“确定”,此时点击“高级”。
8、在高级TCP/IP属性里面,点击IP地址下面的“添加”按钮。
9、弹出窗口输入IP地址,输入子网掩码,点击“添加”。
10、在高级TCP/IP属性界面可以看到刚刚添加的IP地址,需要更多就一次添加,点击“确定”即可。
11、后面的步骤不能点击右上角“X”关闭窗口,需要点击“确定”关闭窗口。
netsh ---interface ip ---------add address "InterfaceName" ip1 netmask1
netsh--- interface ip ---------add address "InterfaceName" ip2 netmask2
一般情况下,一块网卡默认绑定一个IP,但这样会给上网带来不便。因为有些人会用同一台笔记本电脑不同的地方上网,在学校的时候, 白天会在教研室上网,晚上会回宿舍上网, 总是需要重新设置IP地址、默认网关、DNS,觉得很麻烦,有时候还记不住配置参数。但是,如果一个网卡绑定多个IP,就不会有这样的问题了,查了下资料,下面是分别在xp和win7中设置的方法:
(1)在windows xp中:
“开始”→“设置”→“控制面板”,双击“网络和拨号连接”,右键单击“本地连接”,选择“属性”调出“本地连接属性”面板,选择 “Internet协议(TCP/IP)”,点击“属性”调出“Internet协议(TCP/IP)属性”面板,点击下方的“高级”调出“高级 TCP/IP设置”面板。
在IP地址栏下面列出了网卡已设定的IP地址和子网掩码,点击[添加]按钮,在弹出的对话框中填上新的IP地址,添加新的网关;切换到NDS选项卡,DNS服务器下面列出了当前DNS的IP,点击[添加]按钮,在的对话框中填上新的DNS的IP, 这样就可以了。
(2)在win7中:在 “控制面板\网络和 Internet\网络和共享中心”,点击左上边的“更改适配器设置”,双击本地连接,进入IPV4地址设置界面,选择“高级”,
在“IP地址”一栏,点击“添加”即可添加新增的IP地址和子网掩码。
在“默认网关”一栏,点击“添加”可添加新的网关。
在上述界面切换按钮到“DNS”,就可以进行DNS配置。
这样设置就可以了,以WindowsXP举例,如果是WIN7是一个道理~只要找到本地连接(或无线连接)就OK了~设置多个IP也是针对本地连接(或无线连接)来设置的,本地连接(或无线连接)就代表电脑那块唯一的网卡~无线网卡可以设置多个,有线网卡也可以设置多个IP。
1、找到桌面上的“网上邻居”图标,在上面点击鼠标右键---属性;2、在“网络连接”中,找到“本地连接”,并在上面右键-->属性;
3、在本地连接(或无线连接)属性中,找到Internet选项(TCP/IP),点中它,然后点击属性;
4、在Internet选项属性中,点击“高级”其它的不要管;
5、在“高级TCP/IP”设置中的IP地址下面,点击“添加”;
6、在IP地址和子网掩码中输入要添加的内容,然后点击“添加”。这样电脑中IP地址就多了一组了!
1、笔者计算机对外网的访问是通过局域网中的路由器实现的,路由器采用动态分配IP,因此作为本机,只需要将IP和DNS均设置为动态获取即可。为此,新建一批处理文件,名称为“外网IP设置.bat”,在该文件中,针对WindowsXP用户,输入如图所示的内容保存。以后,凡是需要上外网的时候,只需要双击该文件即可。当然外网的网线也必须得接到网卡接口上。
2、针对Windows7用户:可将如下代码定如到名称为“外网IP设置.bat”的文件中,在需要改变IP地址的时候双击即可。
3、对于内网的访问,由于是企业、办公专网,因此一般都有固定的IP地址和网关以及DNS。为此,新建一批处理文件,名称为“内网IP设置.bat”,在该文件中,输入如图所示的内容保存。以后,凡是需要上内网的时候,只需要双击该文件即可。当然内网的网线也必须同步切换。
4、针对Windows7用户:可将如下代码定如到名称为“内网IP设置.bat”的文件中,在需要改变IP地址的时候双击即可。
5、最后将这两个文件放置在比较常用的地方,比如桌面上,这样就可以在需要的时候方便的进行切换。
笔者计算机对外网的访问是通过局域网中的路由器实现的,路由器采用动态分配IP,因此作为本机,只需要将IP和DNS均设置为动态获取即可。为此,新建一批处理文件,名称为“外网IP设置.bat”,在该文件中,针对WindowsXP用户,输入如图所示的内容保存。以后,凡是需要上外网的时候,只需要双击该文件即可。当然外网的网线也必须得接到网卡接口上。
针对Windows7用户:可将如下代码定如到名称为“外网IP设置.bat”的文件中,在需要改变IP地址的时候双击即可。
对于内网的访问,由于是企业、办公专网,因此一般都有固定的IP地址和网关以及DNS。为此,新建一批处理文件,名称为“内网IP设置.bat”,在该文件中,输入如图所示的内容保存。以后,凡是需要上内网的时候,只需要双击该文件即可。当然内网的网线也必须同步切换。
针对Windows7用户:可将如下代码定如到名称为“内网IP设置.bat”的文件中,在需要改变IP地址的时候双击即可。
5
最后将这两个文件放置在比较常用的地方,比如桌面上,这样就可以在需要的时候方便的进行切换。
、在电脑的右下角联网的图标,右键选择“打开网络和interner设置”。
2、在设置界面进入“网络和共享中心”。
3、网络和共享中心选择“更改适配器设置”。
4、选择网线连接的网卡右键选择“属性”。
5、在属性界面选择“interner协议版本4”,点击“属性”。
6、interner协议版本4设置中,点选“使用下面的IP地址”,输入IP地址。
7、不要着急点击“确定”,此时点击“高级”。
8、在高级TCP/IP属性里面,点击IP地址下面的“添加”按钮。
9、弹出窗口输入IP地址,输入子网掩码,点击“添加”。
10、在高级TCP/IP属性界面可以看到刚刚添加的IP地址,需要更多就一次添加,点击“确定”即可。
11、后面的步骤不能点击右上角“X”关闭窗口,需要点击“确定”关闭窗口。
相关问题推荐
synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 2. 修饰一个方法,被修饰的方法称为同步方法,其作用...
简单来讲,爬虫就是一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。就像一只虫子在一幢楼里不知疲倦地爬来爬去。...
VB.Net是一种简单,现代,面向对象的计算机编程语言,由微软开发,将.NET Framework和公共语言运行库的强大功能与作为Visual Basic标志的生产力优势相结合。
感觉scala 写出来的就是文言文,短符号用的太多,而且随场合不同含义还会不同,感觉比较难记忆
1、需求:阅读需求,理解需求,与客户、开发、架构多方交流,深入了解需求。--testing team2、测试计划: 根据需求估算测试所需资源(人力、设备等)、所需时间、功能点划分、如何合理分配安排资源等。---testing leader or testing manager3、用例设计:根据...
王者荣耀英雄联盟和平精英都可以啊。
有很大的实用性5G技术是一种比4G技术提升了近100倍,理论下载速率达到了10Gbps,而实际下载速率一般不超过5Gbps。但是,这也已经很快了,一部电影一秒钟就下载完了!根据普通人而言,在5G的时代,可以得到更好的发展,其实大可以围绕快这一个字来做文章。因为...
岗位职责1、研究基于身份认证进行特权账号密码的保护技术;2、数据安全领域的密码算法的选择,改进,负责数据安全领域的密码学标准跟踪和最佳实践实现。任职要求:1、熟悉网络通信协议及Linux系统下的软件开发全流程,熟练掌握C/Java至少一种编程语言;2、熟...
第一种:ASCII码第二种:GBK 和 GB2312第三种:Unicode第四种:UTF-8
常用的统计编码方法包括哈夫曼编码和算术编码
计算机通用的字符编码:ASCII码ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 64...
物理层 : O S I 模型的最低层或第一层,该层包括物理连网媒介,如电缆连线连接器。物理层的协议产生并检测电压以便发送和接收携带数据的信号。在你的桌面P C 上插入网络接口卡,你就建立了计算机连网的基础。换言之,你提供了一个物理层。尽管物理层不提供纠...
如果密码没有问题的话,那有没有可能是你的输入法设置有问题?比如中文、英文切换不正确?空格键等特殊字符输入错误?图片上的提示,是说你输入的密码是错误的,楼主可以重新切换输入法在输入密码看看,或者干脆注销当前账户,用root账户登陆。楼主如果对Linu...
check_nt对于64位的windows显示的内存其实是windows的实际内存加page file之和nagios服务端:nagios/objects/commands.cfg添加如下内容# CheckWindowsPhysical Mem command definitiondefine command {command_name CheckWindowsPhysicalMemcommand......