无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 5937|回复: 9
打印 上一主题 下一主题

[求助] 请问怎么在PE里获取PXE Server的IP地址?

[复制链接]
跳转到指定楼层
1#
发表于 2021-6-8 22:49:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
启动PE后,请问怎么获取pxe server的服务器ip???

ljycslg大的Win10 RS3 16299 PE x86+x64
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=378234

里面有行代码
exec =!tftp -i %&ServerAddr% get pxeautorun.txt %windir%\system32\pxeautorun.cmd

%&ServerAddr%  不知道这个IP变量是怎么获取的
2#
发表于 2021-6-8 23:01:12 来自手机 | 只看该作者
他的方法并不可靠,参考ipxefm的wimboot.ipxe和startup.bat,有可靠的方式
回复

使用道具 举报

3#
发表于 2021-6-9 00:04:45 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

4#
发表于 2021-6-9 14:12:16 | 只看该作者
不是有个配套的小程序可以得到服务器IP吗?
回复

使用道具 举报

5#
发表于 2021-6-9 14:39:25 来自手机 | 只看该作者
caocaofff 发表于 2021-6-9 14:12
不是有个配套的小程序可以得到服务器IP吗?

那个小工具是tinypxe用的,别的环境用不到
回复

使用道具 举报

6#
 楼主| 发表于 2021-6-26 20:34:27 | 只看该作者
江南一根葱 发表于 2021-6-8 23:01
他的方法并不可靠,参考ipxefm的wimboot.ipxe和startup.bat,有可靠的方式

请问江大
initrd http://${booturl}/ @ip=${booturl}@job=${job} ||
这句什么意思???能解释一下吗??获取的IP存到哪里了?
回复

使用道具 举报

7#
 楼主| 发表于 2021-6-26 21:45:07 | 只看该作者
wlishihua 发表于 2021-6-26 21:18
@echo off
cls&&echo 正在查找默认DHCP服务器...
ping 127.0 -n 6 >nul:re

谢谢,但该脚本只能应用于PXE服务器跟DHCP服务器是同一台主机的情况下,如果采用路由器提供DHCP服务,那指向的就不是PXE服务器的IP地址了。

江大的脚本中
initrd http://${booturl}/ @ip=${booturl}@job=${job}
我是想知道他把IP信息,注入到了哪里。
回复

使用道具 举报

8#
发表于 2021-6-26 21:48:56 | 只看该作者
本帖最后由 江南一根葱 于 2021-6-26 21:50 编辑
踩着棉花糖 发表于 2021-6-26 20:34
请问江大
initrd http://${booturl}/ @ip=${booturl}@job=${job} ||
这句什么意思???能解释一下吗? ...

这个ip地址光荣地成为了一个空文件,并在system32下,文件名格式是@ip=192.168.11.1@job=smbcli
booturl可以取自ipxe的next-server变量,job可以是自己定义的变量,比如smbcli

然后你懂的,pe开机只需要批处理取得这两个变量
set root=x:\windows\system32
::获得执行的任务名称%job%
for /f "tokens=1-2 delims=@ " %%a in ('dir /b %root%\*@*') do (
set %%a
set %%b
)
echo 服务器IP地址为  %ip%
echo 本次执行的任务  %job%

这种方式可以使ip地址由服务器主动提供,以保证绝对正确
回复

使用道具 举报

9#
发表于 2021-6-26 22:12:55 | 只看该作者
本帖最后由 江南一根葱 于 2021-6-26 22:14 编辑

如果只是tinypxe随便玩玩,tinypxe官方完整包里有个discover.zip,就是艹艹说的小工具
可以在pe下执行,里面也有现成的批处理,内容如下
@echo off
for /f %%i in ('discover.exe') do set ip=%%i
echo %ip%
for /f %%i in ('discover.exe share_name') do set share_name=%%i
echo %share_name%
for /f %%i in ('discover.exe share_username') do set share_username=%%i
echo %share_username%
for /f %%i in ('discover.exe share_password') do set share_password=%%i
echo %share_password%
rem net use * /delete
rem net use z: /delete
echo mounting \\%ip%\%share_name%
net use z: \\%ip%\%share_name% /user:%share_username% %share_password%
回复

使用道具 举报

10#
 楼主| 发表于 2021-6-26 23:40:59 | 只看该作者
江南一根葱 发表于 2021-6-26 21:48
这个ip地址光荣地成为了一个空文件,并在system32下,文件名格式是@ip=192.168.11.1@job=smbcli
booturl ...

谢谢江大
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-29 15:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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