无忧启动论坛

标题: PE中自动设置IP地址(一个办法) [打印本页]

作者: 金晨曦    时间: 2007-5-26 04:29
标题: PE中自动设置IP地址(一个办法)
此方法需要,以下两个文件和下面的批处理(附件中为SetIP.CMD)
   netsh.exe    (用于设置IP)
   ifmon.dll      (netsh所需文件)
已在附件中提供。


使用介绍:
   方法一、当PE网络支持运行完毕后,直接运行SetIP.CMD,
                  就可设置IP了,什么也不用改变。(当然三个文件要在同一目录)

   方法二、修改:外置程序\PE_OUTERPART\START_NET.CMD,
                  将最后一项,Start PENETCFG.EXE,删除,加入下面的批处理。
                  netsh.exe,ifmon.dll 和 START_NET.CMD放在同一目录,
                  也就是:外置程序\PE_OUTERPART
  
   方法三、修改:外置程序\PE_OUTERPART\START_NET.CMD,
                  将最后一项,Start PENETCFG.EXE,删除,加入下面的批处理。
                  把 winpe.is_ 还原为 winpe.iso ,用可以编辑ISO文件的工具(如UltraISO),
                  把 netsh.exe,ifmon.dll 加入 \WXPE\SYSTEM32 文件夹,
                  用Cab工具将 winpe.iso 打包(如老毛桃的 MCAB.EXE )。

其实上述方法视个人习惯,怎么都行。

批处理中设置IP的方法,是个人在 Xp 和 Vista 中设置IP的习惯,请大家按自己的习惯进行修改。


echo off
echo --------------------
echo.
echo     设置IP地址......
echo.
echo.    注:如果不是使用Win2003的ifmon.dll,禁用与启用网卡命令无效。
echo.
echo ---------------------------------------------------------------
echo.
SET /P ST=   请输入末节点:
echo.
@echo on

@rem 关闭动态IP服务
net stop dhcp

@rem --------------------------------------------------------------------------
@rem 在 Windows XP Embedded 中使用 Netsh 的条件。
@rem 如果您不使用 Explorer Shell,则可能会发现接口默认情况下未命名。
@rem Explorer 会自动命名它们,因此只要 explorer.exe 已经运行,就不会遇到该问题。
@rem 作为显式运行 explorer.exe 的替代方法,
@rem 可以通过在命令提示处键入以下内容,手动调用函数 HrRenameConnection
@rem --------------------------------------------------------------------------
@rem 注:上面的描述就是打开控制面板,再打开网络连接,可以使用netsh命令了。
@rem ------------------------------------------------------------------------------------------------------
rundll32 netshell.dll HrRenameConnection

@rem 使用接口IP上下文
netsh add helper ifmon.dll

@rem ----------------------------------------------------------------------------
@rem 由于使用了关闭动态IP服务的办法来加快设置IP的速度,因此注释了下面禁用网卡命令
@rem netsh interface set interface name="本地连接" admin=DISABLED
@rem ----------------------------------------------------------------------------

@rem 设置静态IP,网关,默认DNS服务器,可自行修改。
@rem 注:第一遍网关不能设置成功,未知原因
@rem ---------------------------------------------------------------
netsh interface ip set address "本地连接" static addr=192.168.1."%ST%" mask=255.255.255.0 gateway=192.168.1.1 auto
netsh interface ip set address "本地连接" static addr=192.168.1."%ST%" mask=255.255.255.0 gateway=192.168.1.1 auto
netsh interface ip set dns "本地连接" static 192.168.1.1
@rem --------------------------------------------------------------------

@rem -----------------------------------------------------------------------------------------------------------------
@rem 由于使用了关闭动态IP服务的办法来加快设置IP的速度,因此注释了下面启用网卡命令
@rem echo. netsh interface set interface name="本地连接" admin=enable
@rem ---------------------------------------------------------------------------------------------

@rem 启动动态IP服务
net start dhcp




[ 本帖最后由 金晨曦 于 2007-5-26 04:31 AM 编辑 ]

SetIP.rar

61.95 KB, 下载次数: 393, 下载积分: 无忧币 -2


作者: yanngoyan    时间: 2007-5-26 05:35
本人较菜,不明白标题中 “自动设置IP地址” 是什么意思。PE 中不是原来就可以自动获得 IP 地址吗?
作者: 阿非    时间: 2007-5-26 06:43
原帖由 yanngoyan 于 2007-5-26 05:35 AM 发表
本人较菜,不明白标题中 “自动设置IP地址” 是什么意思。PE 中不是原来就可以自动获得 IP 地址吗?


自动设置固定IP
作者: wanghh    时间: 2007-5-26 07:18
netsh interface ip set address "本地连接" static addr=192.168.1."%ST%"
只有三个值?
作者: 阿非    时间: 2007-5-26 07:37
晕SET /P ST=   请输入末节点:
最后一位是手动输入
如果要固定值,把SET /P ST=   请输入末节点:注释掉
把netsh interface ip set address "本地连接" static addr=192.168.1."%ST%"
中的"%ST%" 换为2至255之间的数字
作者: wanghh    时间: 2007-5-26 07:42
谢谢!如何设置二个 dns?如图。

2007-03-16.gif (36.34 KB, 下载次数: 73)

2007-03-16.gif

作者: wanghh    时间: 2007-5-26 07:43
我只能设一个。如何设二行。
作者: wanghh    时间: 2007-5-26 07:45
我的IP是:192。168。36。88
网关是:192。168。36。22
DSN是:202。101。98。54
           202。101。98。55
哪位做个现成的。谢谢!
作者: 阿非    时间: 2007-5-26 07:53
net stop dhcp
rundll32 netshell.dll HrRenameConnection
netsh add helper ifmon.dll
netsh interface ip set address "本地连接" static addr=192.168.36.88 mask=255.255.255.0 gateway=192.168.36.22 auto
netsh interface ip set address "本地连接" static addr=192.168.36.88 mask=255.255.255.0 gateway=192.168.36.22 auto
netsh interface ip set dns "本地连接" static 202.101.98.54net
start dhcp
作者: 阿非    时间: 2007-5-26 07:56
晕,还有备用DNS,改为下面的

net stop dhcp
rundll32 netshell.dll HrRenameConnection
netsh add helper ifmon.dll
netsh interface ip set address "本地连接" static addr=192.168.36.88 mask=255.255.255.0 gateway=192.168.36.22 auto
netsh interface ip set address "本地连接" static addr=192.168.36.88 mask=255.255.255.0 gateway=192.168.36.22 auto
netsh interface ip set dns "本地连接" static 202.101.98.54net
netsh interface ip add dns "本地连接"  202.101.98.55net
start dhcp

[ 本帖最后由 阿非 于 2007-5-26 08:10 AM 编辑 ]
作者: wanghh    时间: 2007-5-26 07:59
谢谢!
netsh interface ip set dns "本地连接" static 202.101.98.54net
只有一个DNS?
作者: wanghh    时间: 2007-5-26 08:02
谢谢!明白了。。。:victory: :victory:
作者: 阿非    时间: 2007-5-26 08:04
原帖由 wanghh 于 2007-5-26 08:02 AM 发表
谢谢!明白了。。。:victory: :victory:

晕,刚才偷懒,改为下面的
netsh interface ip set dns "本地连接" static 202.101.98.54net
netsh interface ip add dns "本地连接"  202.101.98.55net
作者: wanghh    时间: 2007-5-26 08:28
202.101.98.55 总是加不上?
作者: wanghh    时间: 2007-5-26 09:05
谢谢!成功了。这样的。
netsh interface ip set dns "本地连接" static 202.101.98.54
netsh interface ip add dns "本地连接"  202.101.98.55
作者: wan6376    时间: 2007-5-26 09:06
这个好,以后就不用每次手动添加IP了。
作者: pseudo    时间: 2007-5-26 09:12
标题: 设置和切换IP甚至设置代理可以使用现成的软件
PE应能适应多种环境,事实上经常要用到IP切换。例如办公室、家里的IP不同,甚至还涉及代理设置问题,通过PENETCFG.EXE或者楼主的方法不好解决。

设置和切换IP甚至设置代理可以使用现成的软件,它们能事先准备好若干套IP方案,随时设置、切换。例如:
1、笔记本IP代理魔法师 V1.0 绿色版
2、IPsettER(IP帮你换)
3、IPHelper (IP地址配置助手)
4、笔记本网络IP切换器IPFREESET(联网科技)--这个好像红叶提供过
以上google一下就可以找到。

如果想让它们自动运行,自己修改START_NET.CMD或WINPE.INI或其它方式解决吧。

顺便说一下:
1、可以在命令行窗口执行ipconfig检查当前设置值,执行ping www.tom.com检查网通不通。
2、遇到有的软件设置或切换一次还不行的话(人品问题?),可能要执行几次才生效,万一无效,就运行PENETCFG.EXE,这时相关ip值已经填写好了,只需确定一下让其生效。
作者: nn2nn    时间: 2007-5-26 10:02
提示: 作者被禁止或删除 内容自动屏蔽
作者: ibein21cn    时间: 2007-5-26 11:55
设置成功,感谢楼主:) :)
作者: xypcmac    时间: 2007-5-26 11:59
还是做成这样方便些(基本上PE或XP系统都可以用),GHOST 系统也可以使用。

net_set.JPG (61.23 KB, 下载次数: 43)

net_set.JPG

作者: wanghh    时间: 2007-5-26 12:38
原帖由 xypcmac 于 2007-5-26 11:59 AM 发表
还是做成这样方便些(基本上PE或XP系统都可以用),GHOST 系统也可以使用。

发出来共享吧。。。:victory:
作者: philgrim    时间: 2007-5-26 14:25
学习学习 进步进步:lol
作者: yy169    时间: 2007-5-27 15:04
原帖由 xypcmac 于 2007-5-26 11:59 AM 发表
还是做成这样方便些(基本上PE或XP系统都可以用),GHOST 系统也可以使用。


是阿,兄弟发上来吧,期望中,谢谢!
作者: armymangl    时间: 2007-5-27 16:22
浪子把大家的胃口都掉起来就跑路了
作者: xywlty    时间: 2007-5-27 17:36
怎么发帖子的是 金晨曦  解答的却是 阿非??!  难道那个是阿非的另外一个马甲??
作者: xypcmac    时间: 2007-5-27 17:52
原帖由 armymangl 于 2007-5-27 04:22 PM 发表
浪子把大家的胃口都掉起来就跑路了


其实,那都是我以前做的啦!只是觉得没多大用处(速度慢),也就没有提起。既然有人要,我就传上来给大家PP(这个没什么,大家都会做)。
用了五个文件:find.exe、ifmon.dll、ipconfig.exe、netsh.exe、NetIPSet.exe(bat文件),有些是辅助文件,不要的自行组织。附件已经打包。

NetIPSet.rar

104.32 KB, 下载次数: 90, 下载积分: 无忧币 -2


作者: xypcmac    时间: 2007-5-27 18:14
原帖由 金晨曦 于 2007-5-26 04:29 AM 发表
@rem 注:第一遍网关不能设置成功,未知原因
@rem ---------------------------------------------------------------
netsh interface ip set address "本地连接" static addr=192.168.1."%ST%" mask=255.255.255.0 gateway=192.168.1.1 auto
netsh interface ip set address "本地连接" static addr=192.168.1."%ST%" mask=255.255.255.0 gateway=192.168.1.1 auto
...


试试改为:

netsh interface ip set address "本地连接" static addr=192.168.1."%ST%" mask=255.255.255.0
netsh interface ip set address "本地连接" gateway=192.168.1.1 auto

作者: wanghh    时间: 2007-5-27 20:28
谢谢!
NetIPSet.exe(bat文件)可否发代码?:victory:
作者: wanghh    时间: 2007-5-27 20:30
原帖由 wanghh 于 2007-5-27 08:28 PM 发表
谢谢!
NetIPSet.exe(bat文件)可否发代码?:victory:

没有代码不能改成自己的IP啊。
作者: xypcmac    时间: 2007-5-27 20:53
运行之后在临时文件夹找...

其实,IP应该说是大多数通用的啦!要改的可能就是DNS了。而且还有全手动。
作者: wanghh    时间: 2007-5-27 21:10
原帖由 xypcmac 于 2007-5-27 08:53 PM 发表
运行之后在临时文件夹找...

其实,IP应该说是大多数通用的啦!要改的可能就是DNS了。而且还有全手动。

是不是都要手工输入最后二位?能不能做个不要手工输入的。
作者: xypcmac    时间: 2007-5-27 21:21
是的(只是输入几个数字不要紧吧)。不要手工输入有通用性吗?那只能自己用而已。当然,你也可以把要手工输入的预先修改成你要的IP。
作者: wanghh    时间: 2007-5-27 21:29
原帖由 xypcmac 于 2007-5-27 09:21 PM 发表
是的(只是输入几个数字不要紧吧)。不要手工输入有通用性吗?那只能自己用而已。当然,你也可以把要手工输入的预先修改成你要的IP。

我的IP是:192。168。36。88
网关是:192。168。36。22
DSN是:202。101。98。54
           202。101。98。55

能否把其中的一套改成这样的?如何改?谢谢!:victory:
作者: wanghh    时间: 2007-5-27 21:31
:Set_net2
cls
color 07
title 网络设置控制器-电信共享上网2套
Echo                              ╭────────╮
Echo      ╭───────────┤输入IP相关信息 2├───────────╮
Echo      │                      ╰────────╯                      │
Echo      │                                                                │
Echo      │说明:局域网的私有IP地址格式为:192.168.x.x,现需要输入X的相关值│
Echo      │                                                                │
Echo      │,使之成为完整的IP地址。第一个x(第3节数字)为0-254之间的值;第 │
Echo      │                                                                │
Echo      │二个x(第4节数字)为1-254之间的值。网关地址格式为:192.168.x.x,│
Echo      │                                                                │
Echo      │当然,第一个x(第3节数字)的x不用输入,因为它跟着IP地址已经输入 │
Echo      │                                                                │
Echo      │,第二个x(第4节数字)为1-254之间的值。                         │
Echo      │                                                                │
Echo      ╰────────────────────────────────╯
Echo.
Set ip3=
Set /p ip3=请输入IP地址的第3节数字(0-254):
If "%ip3%"=="" Goto Set_net2_err
If %ip3% LSS 0 Goto Set_net2_err
If %ip3% GEQ 255 Goto Set_net2_err
Echo.
Echo IP地址是:192.168.%ip3%.等待输入
Echo.
Set ip4=
Set /p ip4=请输入IP地址的第4节数字(1-254):
If "%ip4%"=="" Goto Set_net2_err
If %ip4% LSS 1 Goto Set_net2_err
If %ip4% GEQ 255 Goto Set_net2_err
Echo.
Echo 你输入的IP地址是:192.168.%ip3%.%ip4% 网关地址是:192.168.%ip3%.等待输入
Echo.
Set gw4=
Set /p gw4=请输入网关地址的第4节数字(1-254):
If "%gw4%"=="" Goto Set_net2_err
If %gw4% LSS 1 Goto Set_net2_err
If %gw4% GEQ 255 Goto Set_net2_err
Echo.
Echo 你输入的网关地址是:192.168.%ip3%.%gw4%
Echo.
Echo 请稍候,正在设置之中...
Call :netlike_name
netsh interface ip Set address  %netadap% source=static addr=192.168.%ip3%.%ip4% mask=255.255.255.0 >nul
netsh interface ip Set address  %netadap% gateway=192.168.%ip3%.%gw4% gwmetric=1 >nul
netsh interface ip Set dns name= %netadap% source=static addr=202.96.128.86 >nul
netsh interface ip add dns name= %netadap% addr=202.96.128.166 index=2 >nul
Goto set_ok

:Set_net2_err
cls
color 0c
title 网络设置控制器-提示信息
Echo.
Echo      输入错误,按任意键请重新开始...
pause>nul
Goto Set_net2

如何改?谢谢!
作者: xypcmac    时间: 2007-5-27 21:42
很简单的,把参数替换为你要的IP地址就可以了。如下例子:

netsh interface ip Set address  “网络接口名称(如:本地连接)” source=static addr=你要的IP地址 mask=子网掩码 >nul
netsh interface ip Set address  “同上(网络接口名称)” gateway=网关IP gwmetric=1 >nul
netsh interface ip Set dns name= “同上(网络接口名称)” source=static addr=主DNS地址 >nul
netsh interface ip add dns name= “同上(网络接口名称)” addr=备份DNS地址 index=2 >nul
作者: wanghh    时间: 2007-5-28 06:49
谢谢xypcmac上校!:victory: :victory:
作者: xifengnefix    时间: 2007-5-28 08:59
学习了,多谢楼主分享。:)




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