无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 34700|回复: 80
打印 上一主题 下一主题

[严重分享10.9更新PE、windows通用]100%免配的PXE网启服务器CMD(DHCP、TFTPD32)

[复制链接]
跳转到指定楼层
1#
发表于 2009-9-23 21:28:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这几天接触PXE网络远程启动PE,参考网上的各位PE中的PXE服务器配置,经多次试验,完全免配!

目前流行的PXE服务器有两种:HaneWin的DHCP,还有一种是TFTPD32
经试验,两种大同小异,都差不多,配置好后远程客户机都 能自动连接,并且可以直接上网,有点区别是:若用TFTPD32作服务器,远程端可以直接上网(稍等一会);而用DHCP作服务器,要手动更新IP后才能上网,两者均不需断开服务器!(网上有些PE网启后不能上网,主要是配置问题)
CMD 如下:
这是DHCP.cmd

@echo off
PUSHD %~dp0
SET TP=%CD%
rem ==========以下此行为启动引导文件,请自行修改=======
set bootfile=PXEgrldr.0
rem ==========================================================

IF NOT EXIST %systemroot%\SYSTEM32\PENETCFG.EXE GOTO END
rem 关闭
if exist DHCP.7z 7z.exe x DHCP.7z -y -aos -o"%WinDir%\System32"

cd /d %systemRoot%\system32
if exist dhcp4nt.exe dhcp4nt.exe -remove
PECMD FIND TFTPD32.EXE,KILL TFTPD32.EXE

set BaseDirectory=
for %%i in (C D E F G H I J K L M N O M P Q R S T U V W) DO IF EXIST %%i:\%bootfile% set BaseDirectory=%%i:\
setlocal
set/a a=-2
for /f "usebackq tokens=2 delims=:" %%i in (`ipconfig`) do (
set b=%%i
call :getip
)

for /f "tokens=1-3,4 delims=." %%i in ("%_myip%") do set IP_Pool=%%i.%%j.%%k.100
>%WinDir%\System32\DHCPsrv.ini echo.[License]
>>%WinDir%\System32\DHCPsrv.ini echo.Key=BBLZ26803UBBCAT9
>>%WinDir%\System32\DHCPsrv.ini echo.Name=Free User
>>%WinDir%\System32\DHCPsrv.ini echo.[DHCPsrv]
>>%WinDir%\System32\DHCPsrv.ini echo.Profile0=本地连接
>>%WinDir%\System32\DHCPsrv.ini echo.TFTPDirectory=%BaseDirectory%
>>%WinDir%\System32\DHCPsrv.ini echo.Multicast=0
>>%WinDir%\System32\DHCPsrv.ini echo.TFTPEnable=1
>>%WinDir%\System32\DHCPsrv.ini echo.TFTPPort=69
>>%WinDir%\System32\DHCPsrv.ini echo.TFTPMode=0
>>%WinDir%\System32\DHCPsrv.ini echo.Log=0
>>%WinDir%\System32\DHCPsrv.ini echo.TestIP=1
>>%WinDir%\System32\DHCPsrv.ini echo.ChangeIP=1
>>%WinDir%\System32\DHCPsrv.ini echo.EnableMAC=1
>>%WinDir%\System32\DHCPsrv.ini echo.[本地连接]
>>%WinDir%\System32\DHCPsrv.ini echo.SubnetMask=%_mask%
>>%WinDir%\System32\DHCPsrv.ini echo.BaseIP=%IP_Pool%
>>%WinDir%\System32\DHCPsrv.ini echo.Range=101
>>%WinDir%\System32\DHCPsrv.ini echo.BootFile=%bootfile%
>>%WinDir%\System32\DHCPsrv.ini echo.GatewayIP=%_Gateway%
>>%WinDir%\System32\DHCPsrv.ini echo.InterfaceIP=%_myip%
dhcp4nt.exe -install
endlocal


PECMD.EXE LINK !%%DESKTOP%%\HaneWin网启服务端,dhcpsrv.cpl,,dhcp.ico
PECMD.EXE LINK !%%Programs%%\网络启动服务器\开启HaneWin网络启动服务端,dhcp4nt.exe,-install,shell32.dll#96
PECMD.EXE LINK !%%Programs%%\网络启动服务器\关闭HaneWin网络启动服务端,dhcp4nt.exe,-remove,shell32.dll#95
PECMD.EXE LINK !%%Programs%%\网络启动服务器\HaneWin网启服务端,dhcpsrv.cpl,,dhcp.ico

PECMD FILE "%%DESKTOP%%\开启HaneWin网络启动服务端.*"
PECMD FILE "%%DESKTOP%%\TFTPD32网络启动服务端.*"

rem 删除共享名PEroot,建立共享名为Peroot共享资源为%BaseDirectory%
PECMD EXEC CMD /C "net share PEROOT /d"
PECMD EXEC CMD /C "net share PEROOT=%BaseDirectory% /unlimited"
PECMD FIND EXPLORER.EXE,KILL EXPLORER.EXE
start dhcpsrv.cpl

PECMD.EXE MESS 远程启动网启服务器.启动成功!\n\n已将本机光盘 %BaseDirectory% 共享给远程客户(\\Winpe\PEROOT,用户名:Guest,密码为空)\n\n@提示 #ok *50000

if %BaseDirectory%.==. PECMD.EXE MESS 系统无法找到文件 %bootfile% 所在的盘符!\n\n请确认后, 手动配置网络服务器\n\n@提示 #ok *50000
EXIT
:END
PECMD.EXE MESS 先启动网络支持程序.再启动网网络启动服务器!@提示 #ok *30000
EXIT

:getip
set /a a=%a%+1
if %a%==1 set _myip=%b%
if %a%==2 set _mask=%b%
if %a%==3 set _Gateway=%b%
goto :eof


============================以下是TFTPD32的====================
@echo off
PUSHD %~dp0
SET TP=%CD%
rem ==========以下此行为启动引导文件,请自行修改=======
set bootfile=PXEgrldr.0
rem ==========================================================
IF NOT EXIST %systemroot%\SYSTEM32\PENETCFG.EXE GOTO END
rem 关闭
pecmd file "%TP%\TFTPD32.EXE=>%systemRoot%\system32\"

cd /d %systemRoot%\system32
if exist dhcp4nt.exe dhcp4nt.exe -remove&&pecmd wait 500
PECMD FIND TFTPD32.EXE,KILL TFTPD32.EXE&&pecmd wait 500

set BaseDirectory=
for %%i in (C D E F G H I J K L M N O M P Q R S T U V W) DO IF EXIST %%i:\%bootfile% set BaseDirectory=%%i:\

set/a a=-2
for /f "usebackq tokens=2 delims=:" %%i in (`ipconfig`) do (
set b=%%i
call :getip
)
for /f "tokens=1-3,4 delims=." %%i in ("%_myip%") do set/a IP_Pool=100*256*256*256+%%k*256*256+%%j*256+%%i
for /f "tokens=1-3,4 delims=." %%i in ("%_mask%") do set/a mask=%%l*256*256*256+%%k*256*256+%%j*256+%%i
for /f "tokens=1-3,4 delims=." %%i in ("%_Gateway%") do set/a Gateway=%%l*256*256*256+%%k*256*256+%%j*256+%%i

>%WinDir%\System32\TFTPD32.INI echo.[TFTPD32]
>>%WinDir%\System32\TFTPD32.INI echo.
>>%WinDir%\System32\TFTPD32.INI echo.Console Password=tftpd32
>>%WinDir%\System32\TFTPD32.INI echo.TftpPort=69
>>%WinDir%\System32\TFTPD32.INI echo.Negociate=1
>>%WinDir%\System32\TFTPD32.INI echo.ShowProgressBar=1
>>%WinDir%\System32\TFTPD32.INI echo.Timeout=3
>>%WinDir%\System32\TFTPD32.INI echo.MaxRetransmit=6
>>%WinDir%\System32\TFTPD32.INI echo.SecurityLevel=1
>>%WinDir%\System32\TFTPD32.INI echo.UnixStrings=1
>>%WinDir%\System32\TFTPD32.INI echo.Services=47
>>%WinDir%\System32\TFTPD32.INI echo.PersistantLeases=1
>>%WinDir%\System32\TFTPD32.INI echo.DHCP Ping=1
>>%WinDir%\System32\TFTPD32.INI echo.Max Simultaneous Transfers=100
>>%WinDir%\System32\TFTPD32.INI echo.BaseDirectory=%BaseDirectory%

>>%WinDir%\System32\TFTPD32.INI echo.[DHCP]
>>%WinDir%\System32\TFTPD32.INI echo.IP_Pool=%IP_Pool%
>>%WinDir%\System32\TFTPD32.INI echo.PoolSize=100
>>%WinDir%\System32\TFTPD32.INI echo.Gateway=%Gateway%
>>%WinDir%\System32\TFTPD32.INI echo.Mask=%mask%
rem >>%WinDir%\System32\TFTPD32.INI echo.DNS=%Gateway%
>>%WinDir%\System32\TFTPD32.INI echo.BootFile=%bootfile%

PECMD.EXE LINK !%%DESKTOP%%\TFTPD32网络启动服务端,TFTPD32.EXE
PECMD.EXE LINK !%%Programs%%\网络启动服务器\TFTPD32网络启动服务端,TFTPD32.EXE
PECMD FILE "%%DESKTOP%%\开启HaneWin网络启动服务端.*"
PECMD FILE "%%DESKTOP%%\开启TFTPD32网络启动服务端.*"

rem 删除共享名PEroot,建立共享名为Peroot共享资源为%BaseDirectory%
PECMD EXEC CMD /C "net share PEROOT /d"
PECMD EXEC CMD /C "net share PEROOT=%BaseDirectory% /unlimited"
PECMD FIND EXPLORER.EXE,KILL EXPLORER.EXE

start TFTPD32.EXE

PECMD.EXE MESS 远程启动网启服务器.启动成功!\n\n已将本机光盘 %BaseDirectory% 共享给远程客户(\\Winpe\PEROOT,用户名:Guest,密码为空)\n\n@提示 #ok *50000

if %BaseDirectory%.==. PECMD.EXE MESS 系统无法找到文件 %bootfile% 所在的盘符!\n\n请确认后, 手动配置网络服务器\n\n@提示 #ok *50000
EXIT
:END
PECMD.EXE MESS 先启动网络支持程序.再启动网网络启动服务器!@提示 #ok *30000
EXIT

:getip
set /a a=%a%+1
if %a%==1 set _myip=%b%
if %a%==2 set _mask=%b%
if %a%==3 set _Gateway=%b%
goto :eof

补充说明:

刚下了个WIn7PE做网启测试,感觉DHCP速度较TFTPD32快,此外,DHCP能远程启动WIN7PE成功,而tFTPD32传送BOOT.WIM文件完后启动失败,提示找不到boot.wim文件!!


===========================================
不用启动PE,WINDOWS下也能开启网启服务器功能:
免配CMD详见:35楼!!!!!!!
使用方法:将支持网启的PE文件放在硬盘即可
===============================
rem winPE\WINDOWS通用免配网启服务端.CMD
特点:1、PE\window通用,可在光盘或硬盘运行
          2、本CMD与DHCP同一目录,方便移植,此目录可放在与启动文件同盘的任意子目录
           3、无需启动PE,也能进行远程网启(安装系统或运行PE)

见 36楼!!!


========10.09最后更新见51楼!!!========

[ 本帖最后由 歌理 于 2009-10-9 17:10 编辑 ]
2#
发表于 2009-9-23 21:33:12 | 只看该作者
第一时间学习,谢谢了
回复

使用道具 举报

3#
发表于 2009-9-23 21:33:37 | 只看该作者
我用的 HaneWin的DHCP,windows版的,好像没这么复杂!
cmd启动的和tfpd32虚拟机测试时速度巨慢,所以都喀嚓了
回复

使用道具 举报

4#
发表于 2009-9-23 22:04:27 | 只看该作者
第一时间来学习一下,这个有点了解了。
回复

使用道具 举报

5#
发表于 2009-9-23 22:05:29 | 只看该作者
我也用的是HaneWIN的.
回复

使用道具 举报

6#
发表于 2009-9-23 22:11:47 | 只看该作者
我做的网启版,一键完成网络和服务器加载,也没这么麻烦....

客户端如果不能上网,只要释放IP,再更新一下,就能上网...可关闭服务器
回复

使用道具 举报

7#
发表于 2009-9-23 22:23:55 | 只看该作者
谢谢分享,好好学习下
回复

使用道具 举报

8#
发表于 2009-9-23 23:03:20 | 只看该作者
不错,可以学习下了.
回复

使用道具 举报

9#
发表于 2009-9-24 10:02:37 | 只看该作者
感觉不错。
多谢分享
回复

使用道具 举报

10#
发表于 2009-9-24 20:17:19 | 只看该作者
两个软件用配置文件就可以了。
回复

使用道具 举报

11#
发表于 2009-9-24 20:40:01 | 只看该作者
说实话,我的水平不是一般的差,没明白
问个问题,普通pe如何与这免配的cmd配合?
回复

使用道具 举报

12#
发表于 2009-9-24 22:08:42 | 只看该作者
搞的好.来学习下....

11楼的问题.LZ写个教程.功德无量啊.
回复

使用道具 举报

13#
 楼主| 发表于 2009-9-25 09:55:24 | 只看该作者

回复 #11 bfgxp 的帖子

实话实说:我第一次接触PXE网启PE,就是从楼上我心如水大师的2003-这1网启版开始的,对PXE网启,不敢班班门弄斧。
对于PXE原理,请搜索“PXE启动PE原理”等相关帖子,网上一大把。
所以说,主要了解PXE启动原理,上述的免配CMD,可以用于任意PE(DHCP及TFTPD好象不支持基于WIN7的PE)

简单而言,普通PE的启动过程以PXE启动过程对比如下:
(我用GRLDR引导启动,就以此为例)
一、普通PE本地启动
    GRLDR----SETUPLDR.exe----NTDETECT.COM----(wnt.xpe配置文件向winPE.IS_或ewinpe.ISO)----启动winpe.iso完成pE启动

   若用于网启服务,之后还须启动--网络支持--网启服务端(即本贴的CMD)

二、远程网启PE过程
    GRLDR(即本例中的PxeGrldr.0)-----STARTROM.0-----pxesetupldr.exe-------NTDETECT.COM----(wnt.xpe配置文件向winPE.IS_或ewinpe.ISO)----启动winpe.iso完成pE启动

三、综合而言,普通PE要作网启支持:
    一)、需要增加两个不同的文件:STARTROM.0、pxesetupldr.exe,这两个文件普通PE是没有的
    二)、按以下主要区别对普通PE进行必要的手术:
    1、远程网启会根据服务端指定的目录及启动文件,找到PxeGrldr.0,并启动之。
        (PxeGrldr.0与本地GRLDR用法及源文件完全一样,仅启动菜单项不同)
    2、STARTROM.0是远程网启的专用文件,必须由此文件启动引导,这是本地与远程的最主要区别!
    3、pxesetupldr.exe与本地的setupldr.exe结构、作用完全一样,但是不能互相混用!
    4、winpe.is_必须解压成winp.iso,即不能压缩(本地不压缩的ISO也可启动的)
    5、ntdetect.com必须放在与PxeGrldr.0同一目录(即根目录)


  PS:
    1、win7pe由STARTROM.0启动bootMGR.exe,此文件必须放在根目录,之后此文件会自动启动本地的win7PE,不用作任何修改,比起XP/2003PE而言,简直是太简单了!
    2、远程网启仅能读取winPE.iso或BOOT.WIM中的文件,不能读取本地外置程序,所以不少PXE网启PE都打着“全内置”的旗号,即将外置程序放入winpe.iso或BOOT.WIM内,这样做的好处及坏处均是显而易见的。
    我的做法是:ISO内仅放置网络支持,远程机启动网络支持后,映射服务器的外置程序为远程机所用
   3、STARTROM.0可以放在引导文件grldr能找到的任意目录,
   4、pxesetupldr.exe应为8.3格式,可放在任意目录,用winHEX修改STARTROM.0,让STARTROM.0能找到pxesetupldr.exe
    5、用winHEX修改pxesetupldr.exe,主要是其中的wnt.xpe配置文件的位置及文件名,建议与本地同名同地。

对于PE引导,我一直都用GRLDR,简单!


接触PXE时间不到一个月,理解是否正确,请各位大师指正。


不好意思,说错了,是SETUPLDR.BIN,不是SETUPLDR.EXE

[ 本帖最后由 歌理 于 2009-9-26 02:56 编辑 ]
回复

使用道具 举报

14#
发表于 2009-9-25 10:31:28 | 只看该作者
非常的棒,进来学习学习!
回复

使用道具 举报

15#
发表于 2009-9-25 11:15:05 | 只看该作者
可是我只会用成品,哎。
回复

使用道具 举报

16#
发表于 2009-9-25 11:27:23 | 只看该作者
呵呵,昨天改了个PE,从电脑迷的光盘里搞出来的,稍微改了一下,功能极简单,只有改系统密码和PM分区,不支持网络。压缩后不到30M,PXE启动用的是TFTPD32
对无光无软而且BIOS不支持PXE启动,还有个解决方法(前提条件是已经装了2000\XP\2003,而且能启动),装VFLOPY,启动映像用GPXE。
要的请mail:switch131@163.com
我做这个用来重装系统,N多工控机,研祥的机器,说是支持PXE启动,按键盘没反应,BIOS能改的都改遍了,用了VFLOPY加上U盘拷贝系统安装文件,速度不错。用来备份文件也很方便
回复

使用道具 举报

17#
发表于 2009-9-25 12:05:18 | 只看该作者
好高深哟。。。。
尊敬的楼主:
另外我问一下:SETUPLDR.exe是什么文件,不会是SETUPLDR.bin文件吧?
如果尊敬的楼主方便的话,给个模版,让我学一下,我好多都不懂,也不会,但我却很想学一下。。。。
谢谢,我的邮箱: 519792545@qq.com。。。
回复

使用道具 举报

18#
 楼主| 发表于 2009-9-26 02:59:03 | 只看该作者

回复 #17 zhoubin 的帖子

1、是SETUPLDR.BIN,前面说错了
2、请看我心如水的2003-911网启版,其实本论坛有很多这样的模板的
回复

使用道具 举报

19#
发表于 2009-9-26 16:40:34 | 只看该作者
原帖由 歌理 于 2009-9-25 09:55 发表
实话实说:我第一次接触PXE网启PE,就是从楼上我心如水大师的2003-这1网启版开始的,对PXE网启,不敢班班门弄斧。
对于PXE原理,请搜索“PXE启动PE原理”等相关帖子,网上一大把。
所以说,主要了解PXE启动原 ...



远程用grub启动,还是有玩的,不知启动速度怎么样,一般的都是用pxelinux,
呵呵,这个要学学,
楼主能不能传上来,大家试用.....
回复

使用道具 举报

20#
发表于 2009-9-29 14:06:50 | 只看该作者
歌理 上校 能否再编写一个Windows下的免配置网启服务端CMD,如果这样就完美了,期待!
回复

使用道具 举报

21#
发表于 2009-9-29 19:49:44 | 只看该作者
期待歌理大侠提供一个Windows下的免配置网启服务端CMD,感谢!
回复

使用道具 举报

22#
 楼主| 发表于 2009-9-29 20:54:01 | 只看该作者
原帖由 wlue 于 2009-9-29 14:06 发表
歌理 上校 能否再编写一个Windows下的免配置网启服务端CMD,如果这样就完美了,期待!

没明白什么意思,能说说你的要求或想法吗?
是指硬盘PE还是在WINDOWS下直接做网启服务器?
若是后者,好像不行吧?
回复

使用道具 举报

23#
发表于 2009-9-29 22:12:27 | 只看该作者
原帖由 歌理 于 2009-9-29 20:54 发表

没明白什么意思,能说说你的要求或想法吗?
是指硬盘PE还是在WINDOWS下直接做网启服务器?
若是后者,好像不行吧?

是这样,我的硬盘或优盘上有水先生的PE系统,如果启动到PE系统也可以实现免配置网启。但我是想如果服务端是在Windows系统下,不必切换到PE系统下,就可以开启网启功能,目前已经实现,一般人推荐使用haneWIN DHCP Server,但在首次使用的时候,需要作一些网络参数方面的配置,如果在换一台电脑的话就需要重新配置,这样就不太方便。

我想实现的功能就是:1.像在PE系统中那样直接调用系统中的网络参数,而不必手动输入IP地址等网络参数;2.默认将haneWIN DHCP Server所在文件夹作为网启根目录,而不需要随绝对路径的改变而在手动所在网启根目录;

不知表达清除没有?
谢谢歌理大侠!
回复

使用道具 举报

24#
 楼主| 发表于 2009-9-30 00:43:32 | 只看该作者
WINDOWS 网启服务器免配CMD

(本人测试在XP、win7下正常)

请测试
请将DHCP所有文件及本CMD放于同一目录即可。
DNS地址未取出,原因是网启一般仅限于局网,与DNS关系不大,启动完毕,系统一般会通过网关自动设置


@echo off
PUSHD %~dp0
SET TP=%CD%
rem ==========以下此行为启动引导文件,请自行修改=======
set bootfile=PXEgrldr.0
rem ==========================================================

dhcp4nt.exe -remove
set BaseDirectory=%TP%
if not %tp:~-1%==\ set BaseDirectory=%TP%\
setlocal
set/a a=-2
for /f "usebackq tokens=2 delims=:" %%i in (`ipconfig`) do (
set b=%%i
call :getip
)
for /f "tokens=1-3,4 delims=." %%i in ("%_myip%") do set IP_Pool=%%i.%%j.%%k.100
>%TP%\DHCPsrv.ini echo.[License]
>>%TP%\DHCPsrv.ini echo.Key=BBLZ26803UBBCAT9
>>%TP%\DHCPsrv.ini echo.Name=Free User
>>%TP%\DHCPsrv.ini echo.[DHCPsrv]
>>%TP%\DHCPsrv.ini echo.Profile0=本地连接
>>%TP%\DHCPsrv.ini echo.TFTPDirectory=%BaseDirectory%
>>%TP%\DHCPsrv.ini echo.Multicast=0
>>%TP%\DHCPsrv.ini echo.TFTPEnable=1
>>%TP%\DHCPsrv.ini echo.TFTPPort=69
>>%TP%\DHCPsrv.ini echo.TFTPMode=0
>>%TP%\DHCPsrv.ini echo.Log=0
>>%TP%\DHCPsrv.ini echo.TestIP=1
>>%TP%\DHCPsrv.ini echo.ChangeIP=1
>>%TP%\DHCPsrv.ini echo.EnableMAC=1
rem 有多个网卡时,如不能确定那个网卡,可以将下面此行去掉
>>%TP%\DHCPsrv.ini echo.Include=%_myip%
>>%TP%\DHCPsrv.ini echo.[本地连接]
>>%TP%\DHCPsrv.ini echo.SubnetMask=%_mask%
>>%TP%\DHCPsrv.ini echo.BaseIP=%IP_Pool%
>>%TP%\DHCPsrv.ini echo.Range=101
>>%TP%\DHCPsrv.ini echo.BootFile=%bootfile%
>>%TP%\DHCPsrv.ini echo.GatewayIP=%_Gateway%
>>%TP%\DHCPsrv.ini echo.InterfaceIP=%_myip%
endlocal

dhcp4nt.exe -install
start dhcpsrv.cpl
EXIT

:getip
set /a a=%a%+1
if %a%==1 set _myip=%b%
if %a%==2 set _mask=%b%
if %a%==3 set _Gateway=%b%
goto :eof

[ 本帖最后由 歌理 于 2009-9-30 00:49 编辑 ]
回复

使用道具 举报

25#
发表于 2009-9-30 08:30:40 | 只看该作者
Windows XP下测试成功了,这样网启就太方便了。谢谢歌理大侠,您可真是出手不凡呀!

得寸进尺,再向您请教几个问题:
1.我的PE和各种工具都在一个minipe文件夹下(这样目录清爽,也便于移植),我将haneWIN DHCP Server的所有相关文件直接放在minipe文件夹下,用你的CMD脚本程序成功实现Windows网启。但我嫌文件太多太乱,想将haneWIN DHCP Server相关文件放入minipe\winDHCP\目录下,这样需要修改你的CMD脚本程序使其设置网启根目录为当前目录的上一级目录,如何修改:
set BaseDirectory=%TP%
if not %tp:~-1%==\ set BaseDirectory=%TP%\
2.你用的编程语言属于什么语言,我想了解一下它的语法,应当看什么资料?
谢谢您!
回复

使用道具 举报

26#
发表于 2009-9-30 09:40:49 | 只看该作者
@wlue:
  请上传一下你的hanewin dhcp sever服务器文件,谢了,我想下载,我测试不成功。

[ 本帖最后由 wwmy1982 于 2009-9-30 09:42 编辑 ]
回复

使用道具 举报

27#
发表于 2009-9-30 09:52:00 | 只看该作者
原帖由 wwmy1982 于 2009-9-30 09:40 发表
@wlue:
  请上传一下你的hanewin dhcp sever服务器文件,谢了,我想下载,我测试不成功。


就这个CMD不成功,如水的网启版是否成功呢
回复

使用道具 举报

28#
发表于 2009-9-30 10:29:26 | 只看该作者
原帖由 wwmy1982 于 2009-9-30 09:40 发表
@wlue:
  请上传一下你的hanewin dhcp sever服务器文件,谢了,我想下载,我测试不成功。

请将文件解压到你的网启文件夹(根目录)下,如果原来未安装过haneWIN DHCP Server,请先运行一次 绿化.bat ,然后退出,以后网启执行 Windows网启.CMD 这个就是歌理大侠编写的免配置网启文件。

WINDHCP.rar

186.51 KB, 下载次数: 595, 下载积分: 无忧币 -2

回复

使用道具 举报

29#
发表于 2009-9-30 19:54:44 | 只看该作者
楼主的批处理太好用了,非常感谢!
另“外置程序”怎么映射?我怎么老是访问不了。
回复

使用道具 举报

30#
 楼主| 发表于 2009-9-30 19:55:54 | 只看该作者
WINDOWS 网启服务器免配CMD
说明:1、请将本CMD 与 启动文件%bootfile%  放于同一目录
      2、DHCP4NT服务程序可以放于本CMD目录下的任意子目录,其启动文件名必须是:DHCP4NT.exe


rem WINDOWS网启服务端.CMD
rem 请将本CMD 与 启动文件%bootfile%  放于同一目录!!

@echo off
PUSHD %~dp0
SET TP=%CD%
rem ==========以下此行为启动引导文件,请自行修改=======
set bootfile=PXEgrldr.0
rem ==========================================================

set BaseDirectory=%tp%
if not %tp:~-1%==\ set BaseDirectory=%tp%\
if not exist %BaseDirectory%%bootfile%  echo 启动文件找不到:%BaseDirectory%%bootfile%  &&pause

for /f "usebackq" %%i in (`dir "%BaseDirectory%DHCP4NT.EXE" /s/b`) do set TP=%%~dpi
set TP=%TP:~0,-1%
%TP%\dhcp4nt.exe -remove

setlocal
set/a a=-2
for /f "usebackq tokens=2 delims=:" %%i in (`ipconfig`) do (
set b=%%i
call :getip
)

for /f "tokens=1-3,4 delims=." %%i in ("%_myip%") do set IP_Pool=%%i.%%j.%%k.100
>%TP%\DHCPsrv.ini echo.[License]
>>%TP%\DHCPsrv.ini echo.Key=BBLZ26803UBBCAT9
>>%TP%\DHCPsrv.ini echo.Name=Free User
>>%TP%\DHCPsrv.ini echo.[DHCPsrv]
>>%TP%\DHCPsrv.ini echo.Profile0=本地连接
>>%TP%\DHCPsrv.ini echo.TFTPDirectory=%BaseDirectory%
>>%TP%\DHCPsrv.ini echo.Multicast=0
>>%TP%\DHCPsrv.ini echo.TFTPEnable=1
>>%TP%\DHCPsrv.ini echo.TFTPPort=69
>>%TP%\DHCPsrv.ini echo.TFTPMode=0
>>%TP%\DHCPsrv.ini echo.Log=0
>>%TP%\DHCPsrv.ini echo.TestIP=1
>>%TP%\DHCPsrv.ini echo.ChangeIP=1
>>%TP%\DHCPsrv.ini echo.EnableMAC=1
rem 有多个网卡时,如不能确定那个网卡,可以将下面此行去掉
>>%TP%\DHCPsrv.ini echo.Include=%_myip%
>>%TP%\DHCPsrv.ini echo.[本地连接]
>>%TP%\DHCPsrv.ini echo.SubnetMask=%_mask%
>>%TP%\DHCPsrv.ini echo.BaseIP=%IP_Pool%
>>%TP%\DHCPsrv.ini echo.Range=101
>>%TP%\DHCPsrv.ini echo.BootFile=%bootfile%
>>%TP%\DHCPsrv.ini echo.GatewayIP=%_Gateway%
>>%TP%\DHCPsrv.ini echo.InterfaceIP=%_myip%
endlocal

%tp%\dhcp4nt.exe -install
%tp%\dhcpsrv.cpl
EXIT

:getip
set /a a=%a%+1
if %a%==1 set _myip=%b%
if %a%==2 set _mask=%b%
if %a%==3 set _Gateway=%b%
goto :eof

[ 本帖最后由 歌理 于 2009-9-30 19:59 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-15 21:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表