網啟伺服器自動設定程式:
@echo off
PUSHD %~dp0
SET TP=%CD%
Title HaneWin網啟服務端 通用免配程式 for winPE_xp_03_win7
rem ==========以下此行為啟動引導檔案,請自行修改, 必須在分區根目錄=======
set bootfile=PXEgrldr.0
rem ==========================================================
echo 正在自動搜尋開機檔案,可能需要一些時間,請稍等。。。
set BaseDirectory=
set bootdrver=%~d0
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:%bootfile% set bootdrver=%%i:
if not exist %bootdrver%%bootfile% ECHO 找不到網啟檔案:%bootfile% &&pause&& exit
set BaseDirectory=%bootdrver%
rem if exist %bootdrver%%bootfile% set BaseDirectory=%bootdrver%&&goto copyfile
rem for /f "usebackq" %%i in (`dir "%bootdrver%%bootfile%" /s/b`) do set BaseDirectory=%%~dpi
rem if %BaseDirectory%.==. echo 在 %bootdrver%盤上 找不到開機檔案:%bootfile% &&pause
:copyfile
copy DHCP*.* %temp% /y >nul
set tp=%temp%
%TP%dhcp4nt.exe -remove >nul
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 >nul
start %tp%dhcpsrv.cpl
if not exist x:*.* goto windows
PECMD.EXE LINK %%Programs%%網路工具網啟伺服器HaneWin網啟服務端,%tp%dhcpsrv.cpl,,%tp%dhcp.ico
PECMD.EXE LINK %%Programs%%網路工具網啟伺服器開啟HaneWin網啟服務,%tp%dhcp4nt.exe,-install,shell32.dll#96
PECMD.EXE LINK %%Programs%%網路工具網啟伺服器關閉HaneWin網啟服務,%tp%dhcp4nt.exe,-remove,shell32.dll#95
PECMD FILE "%%DESKTOP%%開啟HaneWin網啟服務端.*"
rem 刪除共用名稱PEroot,建立共用名稱為PEROOT,共用資源為%BaseDirectory%
PECMD EXEC CMD /C "net share PEROOT /d"
PECMD EXEC CMD /C "net share PEROOT=%BaseDirectory% /unlimited"
rem PECMD FIND EXPLORER.EXE,KILL EXPLORER.EXE
echo.
echo 已將本機PE系統 [url=file://%Computername%PEROOT]%Computername%PEROOT[/url] 共用給遠程客戶(主機名稱:%Computername%,使用者名稱:Guest,密碼為空白)
:windows
echo.
echo.
echo 遠程啟動網啟伺服器.啟動成功!可以進行遠程網路啟動PE!
echo.
pause
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
===================================================================================
@ECHO OFF
Title HaneWin網啟服務端_映射遠程主機 免配程式 for winPE
PUSHD %~dp0
set tp=%cd%
rem 第一次運行
pecmd.exe IFEX %%Desktop%%映射遠程主機.LNK,!EXEC cmd /c copy "%tp%網啟快捷及映射主機.CMD" "%tp%映射遠程主機.TMP"
PECMD.exe LINK %%Desktop%%映射遠程主機,%tp%網啟快捷及映射主機.CMD,,SHELL32.DLL#17
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:PEToolswin7.ini PECMD.exe file %%Desktop%%映射遠程主機.*
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:外置程式winPE.ini PECMD.exe file %%Desktop%%映射遠程主機.*
pecmd.exe IFEX %%Desktop%%映射遠程主機.LNK,!EXEC cmd /c copy "%tp%網啟快捷及映射主機.CMD" "%tp%映射遠程主機.TMP"
if exist "%tp%映射遠程主機.TMP" goto end
rem 映射遠程主機
ipconfig /all |find /i "DHCP" |find /i "伺服器">%temp%ip.txt
ipconfig /all |find /i "DHCP" |find /i "Server">>%temp%ip.txt
for /f "usebackq tokens=2 delims=:" %%i in (%temp%ip.txt) do (
set ip=%%i
)
set ip=%ip:~1%
ECHO.
ECHO 將遠程伺服器%ip%的共用名稱peroot 映射為本地Z:盤,主要是用於用戶端,使用者Guest,密碼為空白)
ECHO .
ECHO .
ECHO 正在串連至遠程伺服器:%ip%, 請稍等。。。。。。
ECHO.|NET USE z: [url=file://%ip%PEROOT]%ip%PEROOT[/url] /user:guest /persistent:no
pecmd wait 200
if exist z:*.* PECMD.EXE MESS 網路成功串連,並已串連遠程伺服器為Z:nnn如不能連上InterNet網,請在網路設定中釋放-更新絡IP,或在伺服器上關閉網路啟動服端!@提示 #ok *60000
if exist z:PETOOLSWin7.INI PECMD.EXE LINK %%Desktop%%載入遠程外置程式1,PECMD.EXE,LOAD z:PETOOLSWin7.INI,Shell32.dll#46
if exist z:外置程式winPE.ini PECMD.EXE LINK %%Desktop%%載入遠程外置程式2,PECMD.EXE,LOAD z:外置程式winPE.ini,Shell32.dll#46
if not exist z:*.* PECMD.EXE MESS 無法串連遠程伺服器,請檢查網路或伺服器!!@提示 #ok *60000
:end
pecmd.exe file "%tp%映射遠程主機.TMP"
pecmd.exe file "%tp%映射遠程主機.TMP"
pecmd.exe IFEX %%Desktop%%映射遠程主機.LNK,!LINK %%Programs%%網路工具網啟伺服器HaneWin網啟服務端,%tp%HaneWin網啟服務端.CMD,,%tp%DHCP.ICO
exit
這段源碼可以根據自己的需要進行適當修改。