在Windows PE中禁用networking连接

我正在使用Microsoft自动化安装工具包10(主机是Windows 10)为amd64目标平台生成WindowsPE启动棒。

因为我不需要WinPE内部的networking连接,所以我想要完全和安全的禁用它们。

我有一个粗略的了解WinPE的启动链,所以我知道我可以通过一个configuration文件 wpeinit ,这将允许我禁用networking。 这个10岁的神秘依然存在:该文件将如何构build? 一个最小的例子

 <?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <EnableNetwork>false</EnableNetwork> </unattend> 

不会抛出错误消息,但也不起作用。 它从startnet.cmd内部startnet.cmd是这样的:

wpeinit -unattend:"%SystemRoot%\system32\Unattend.xml"

allthough我也见过 wpeinit /unattend: ...

%SystemRoot%\system32\wpeinit.log日志文件指出:

2017-08-02 13:26:16.061,Info WPEINIT正在处理无人参与文件[X:\ windows \ system32 \ Unattend.xml]

2017-08-02 13:26:16.295,Info ====初始化networking访问和应用configuration==== 2017-08-02 13:26:16.295,信息没有指定EnableNetwork unattend设置; 此上下文的默认操作是启用networking支持。

提供的 例子也不帮我很多,我认为这可能是自动安装,而不是configuration。

我通过以下命令validationnetworking是否被禁用

 netsh interface ipv4 show interfaces netsh interface ipv6 show interfaces 

有可能通过netsh像禁用连接

 netsh interface set interface "Local Area Connection" DISABLED 

但恐怕WinPE可能已经试图访问一个DHCP已经或可以通过networking在短时间内到达。

那么如何实现无networking的WinPE呢? 谢谢!

是不是从startnet.cmd调用wpeinit ,因为我需要使用驱动程序初始化设备? 有些postbuild议如此。

Heureka! 我非常亲近,终于成功地实现了它的function(问题中的一个参考实际上只有x86的答案)。

重要的经验教训:

  • 目标平台对设置很重要
  • components是必需的,请参阅他们的文档 ,特别是允许<EnableNetwork>configuration的Microsoft-Windows-Setup

不用多说,这是由生成过程复制到%SystemRoot%\system32Unattend.xml

 <?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="windowsPE"> <component name="Microsoft-Windows-Setup" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" processorArchitecture="AMD64"> <EnableNetwork>false</EnableNetwork> </component> </settings> <cpi:offlineImage cpi:source="" xmlns:cpi="urn:schemas-microsoft-com:cpi" /> </unattend> 

通过修改的startnet.cmd进行startnet.cmd

 wpeinit /unattend="%SystemRoot%\system32\Unattend.xml" 

这导致以下日志条目:

2017-08-02 14:51:20.747,Info WPEINIT正在处理无人参与文件[X:\ windows \ system32 \ Unattend.xml]

2017-08-02 14:51:20.982,信息====初始化networking访问和应用configuration====

2017-08-02 14:51:20.982,信息networking支持将不会启用。

2017-08-02 14:51:20.982,Info STATUS:SUCCESS(0x00000001)

注意System32文件夹中唯一存在的文件导致其评估。 所以如果文件驻留在那个位置, wpeinit的参数实际上是不需要的。