无忧启动论坛

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

[讨论] 怎样为PE添加Powershell脚本功能

[复制链接]
跳转到指定楼层
1#
发表于 2021-10-9 11:00:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 2013kyj 于 2021-10-9 12:25 编辑

在论坛没有找到在PE上集成Powershell脚本相关的贴子, 所以开个讨论贴!


情况是这样的, 本人使用Wb2, 制作了一个完整版功能的PE, 像.NET , WMI , 都可以完美支持, 唯独没有添加Powershell脚本的支持, 随后通过百度, 股沟,找了一些相关的教程, 但是大多年代久远, 于是我下载最新版的ADK后, 按教程步骤操作, 但总是无法添加成功,会报错, 非常期待路过的高手,若有集成Powershell的成功经验, 欢迎能指点一下, 非常感谢


集成powershell的步骤不是很繁琐, 下面是详细步骤, 欢迎测试:


1.通过下面的链接下载 adksetup.exe, 下载后,双击运行它,跟着向导,可以下载完整的ADK包, 但是太大了,貌似10G以内,
https://download.microsoft.com/download/9/A/E/9AE69DD5-BA93-44E0-864E-180F5E700AB4/adk/adksetup.exe
注意:
不必等待其完全下载, 可以用下面的命令行只安装需要的模块,随后就可以看到C:\Program Files (x86)\Windows Kits文件夹,里面就是自动下载并安装的文件:
adksetup.exe /features OptionId.DeploymentTools OptionId.WindowsPreinstallationEnvironment /quiet


2.把BOOT.WIM文件放到C盘根目录下, 并在C盘下创建文件夹mount, 然后用下面的命令挂载BOOT.WIM
Dism /Mount-Image /ImageFile:"C:\boot.wim" /Index:1 /MountDir:"C:\mount"


3.依次使用下面的命令集成powershell,
Dism /Add-Package /Image:"C:\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WMI.cab"
Dism /Add-Package /Image:"C:\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WMI_zh-cn.cab"


Dism /Add-Package /Image:"C:\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-NetFX.cab"
Dism /Add-Package /Image:"C:\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-NetFX_zh-cn.cab"


Dism /Add-Package /Image:"C:\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-Scripting.cab"
Dism /Add-Package /Image:"C:\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-Scripting_zh-cn.cab"


Dism /Add-Package /Image:"C:\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-PowerShell.cab"
Dism /Add-Package /Image:"C:\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-PowerShell_zh-cn.cab"


Dism /Add-Package /Image:"C:\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-DismCmdlets.cab"

Dism /Add-Package /Image:"C:\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-DismCmdlets_zh-cn.cab"


4.使用下面的命令提交BOOT.wim的更改
Dism /Unmount-Image /MountDir:C:\mount /Commit
------------------------------------------------------------------------------------------------------------------------------------


报错的信息如下, 提示文件不存在, 但是文件是存在的:


C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools>Dism /Add-Package /Image:"C:\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-PowerShell.cab"

部署映像服务和管理工具
版本: 10.0.19041.1

映像版本: 10.0.19043.928

An error occurred trying to open - C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-PowerShell.cab Error: 0x80070002

错误: 2

系统找不到指定的文件。

可以在 C:\windows\Logs\DISM\dism.log 上找到 DISM 日志文件

2#
发表于 2021-10-9 11:19:34 | 只看该作者
首先你要先把boot或者winre用ADK打入组建后再拿来制作成带桌面的PE

点评

不能直接用WB2制作好的BOOT.wim吗?  详情 回复 发表于 2021-10-9 11:21
回复

使用道具 举报

3#
 楼主| 发表于 2021-10-9 11:21:56 | 只看该作者
我是小青蛙 发表于 2021-10-9 11:19
首先你要先把boot或者winre用ADK打入组建后再拿来制作成带桌面的PE

不能直接用WB2制作好的BOOT.wim吗? 怎么打入组建?

点评

那准备自己写补丁吧  详情 回复 发表于 2021-10-9 11:29
回复

使用道具 举报

4#
发表于 2021-10-9 11:29:59 | 只看该作者
本帖最后由 我是小青蛙 于 2021-10-9 11:34 编辑
2013kyj 发表于 2021-10-9 11:21
不能直接用WB2制作好的BOOT.wim吗? 怎么打入组建?

那准备自己写补丁吧

QQ截图20211009113355.png (83.48 KB, 下载次数: 6)

QQ截图20211009113355.png

点评

哦, 太懂, 大侠能给写个脚本吗?  详情 回复 发表于 2021-10-9 12:12
回复

使用道具 举报

5#
发表于 2021-10-9 11:50:00 | 只看该作者
这个组件,正常系统里都用的人不多。不知道有没有人来研究。。。
回复

使用道具 举报

6#
 楼主| 发表于 2021-10-9 12:12:52 | 只看该作者
我是小青蛙 发表于 2021-10-9 11:29
那准备自己写补丁吧

哦, 太懂, 大侠能给写个脚本吗?
回复

使用道具 举报

7#
发表于 2021-10-9 12:15:38 | 只看该作者
我自己用的就带有PS专为支持安装系统命令精简过。

QQ图片20211009121531.png (24.89 KB, 下载次数: 7)

QQ图片20211009121531.png

点评

牛B, 能分享一下集成步骤吗? 感谢  详情 回复 发表于 2021-10-9 12:26
回复

使用道具 举报

8#
 楼主| 发表于 2021-10-9 12:26:35 | 只看该作者
本帖最后由 2013kyj 于 2021-10-9 12:27 编辑
我是小青蛙 发表于 2021-10-9 12:15
我自己用的就带有PS专为支持安装系统命令精简过。

牛B, 能分享一下集成步骤吗? 坛里的PE,还没有发现能用Powershell的呢, 非常感谢

点评

集成步骤就是ADK组建DISM命令打入就行了,如果已经制作成PE就不一定可以打入组建了,那种也可以通过文件列表补充,还有注册表。  详情 回复 发表于 2021-10-9 12:28
回复

使用道具 举报

9#
发表于 2021-10-9 12:28:42 | 只看该作者
2013kyj 发表于 2021-10-9 12:26
牛B, 能分享一下集成步骤吗? 感谢

集成步骤就是ADK组建DISM命令打入就行了,如果已经制作成PE就不一定可以打入组建了,那种也可以通过文件列表补充,还有注册表。

点评

请问你第一次使用POWERSHELL卡吗? 刚才WB2大侠,回复了, 说首次使用卡  详情 回复 发表于 2021-10-9 12:51
回复

使用道具 举报

10#
 楼主| 发表于 2021-10-9 12:51:01 | 只看该作者
本帖最后由 2013kyj 于 2021-10-9 12:52 编辑
我是小青蛙 发表于 2021-10-9 12:28
集成步骤就是ADK组建DISM命令打入就行了,如果已经制作成PE就不一定可以打入组建了,那种也可以通过文件 ...

请问第一次使用POWERSHELL卡吗? 刚才WB2大侠,回复了, 说首次使用卡
另外你的PE是用WB2制作的吗?

点评

PE里只是打开慢点,我的不是W2制作的。  详情 回复 发表于 2021-10-9 12:59
回复

使用道具 举报

11#
发表于 2021-10-9 12:59:17 | 只看该作者
2013kyj 发表于 2021-10-9 12:51
请问第一次使用POWERSHELL卡吗? 刚才WB2大侠,回复了, 说首次使用卡
另外你的PE是用WB2制作的吗?

PE里只是打开慢点,我的不是W2制作的。

点评

哦, 请问您集成的是哪个版本的powershell, 体积增加了多少?  详情 回复 发表于 2021-10-9 13:25
回复

使用道具 举报

12#
 楼主| 发表于 2021-10-9 13:25:39 | 只看该作者
我是小青蛙 发表于 2021-10-9 12:59
PE里只是打开慢点,我的不是W2制作的。

哦, 请问您集成的是哪个版本的powershell, 体积增加了多少?

点评

体积没具体算过,集成的版本就是ADK对应的版本,每一个大版本系统微软都会发布对应的ADK。  详情 回复 发表于 2021-10-9 14:06
回复

使用道具 举报

13#
发表于 2021-10-9 14:06:31 | 只看该作者
2013kyj 发表于 2021-10-9 13:25
哦, 请问您集成的是哪个版本的powershell, 体积增加了多少?

体积没具体算过,集成的版本就是ADK对应的版本,每一个大版本系统微软都会发布对应的ADK。

点评

感谢提醒,找到问题所在了, 如果直接使用WIN10安装盘里的boot.wim是可以成功集成Powershell的, 但是如果使用WB2生成的boot.wim就不行, 提示文件不存在的错误  详情 回复 发表于 2021-10-9 19:12
回复

使用道具 举报

14#
发表于 2021-10-9 18:56:06 | 只看该作者
话说MS这货
使用正常SOFTWARE配置单元制作的PE
手工添加WindowsPowerShell文件夹就能用的吧??

点评

好像不行, powershell运行有好多依赖, 如.NET什么的  详情 回复 发表于 2021-10-9 19:13
回复

使用道具 举报

15#
 楼主| 发表于 2021-10-9 19:12:46 | 只看该作者
本帖最后由 2013kyj 于 2021-10-9 19:14 编辑
我是小青蛙 发表于 2021-10-9 14:06
体积没具体算过,集成的版本就是ADK对应的版本,每一个大版本系统微软都会发布对应的ADK。

感谢提醒,找到问题所在了, 如果直接使用WIN10安装盘里的boot.wim是可以成功集成Powershell的, 但是如果使用WB2生成的boot.wim就不行, 提示文件不存在的错误
但问题在于, 用原版的boot.wim生成的PE, 没有桌面的, 进入PE后是命令行窗口
回复

使用道具 举报

16#
 楼主| 发表于 2021-10-9 19:13:18 | 只看该作者
2010feicool 发表于 2021-10-9 18:56
话说MS这货
使用正常SOFTWARE配置单元制作的PE
手工添加WindowsPowerShell文件夹就能用的吧??

好像不行, powershell运行有好多依赖, 如.NET什么的
回复

使用道具 举报

17#
发表于 2021-10-9 19:20:34 来自手机 | 只看该作者
之前楼主批处理都不怎么会,现在已经学会了PS了吗?

点评

大侠好, 对批处理和PS都一知半解的, 但是目前在维护学校电脑时, 有一些现成的PS脚本需要运行, 所以就想尝试一下  详情 回复 发表于 2021-10-9 19:29
回复

使用道具 举报

18#
 楼主| 发表于 2021-10-9 19:29:04 | 只看该作者
本帖最后由 2013kyj 于 2021-10-9 19:31 编辑
nttwqz 发表于 2021-10-9 19:20
之前楼主批处理都不怎么会,现在已经学会了PS了吗?

大侠好, 对批处理和PS都一知半解的, 但是目前在维护学校电脑时, 有一些现成的PS脚本需要运行, 所以就想尝试一下
WB2制作一个自定义PE, 真是太方便了, 直接用预置的全功能配置一键就生成了, 但目前唯一一点就是没有集成powershell的选项

点评

可惜了,PS只是微软的一厢情愿,正常系统都懒得学习使用,更别提PE了  详情 回复 发表于 2021-10-9 19:57
回复

使用道具 举报

19#
发表于 2021-10-9 19:32:23 | 只看该作者
进来围观学习……
回复

使用道具 举报

20#
发表于 2021-10-9 19:57:07 来自手机 | 只看该作者
2013kyj 发表于 2021-10-9 19:29
大侠好,  对批处理和PS都一知半解的, 但是目前在维护学校电脑时, 有一些现成的PS脚本需要运行,  ...

可惜了,PS只是微软的一厢情愿,正常系统都懒得学习使用,更别提PE了

点评

确实如此, 还是批处理受众广大  详情 回复 发表于 2021-10-9 19:59
回复

使用道具 举报

21#
 楼主| 发表于 2021-10-9 19:59:13 | 只看该作者
nttwqz 发表于 2021-10-9 19:57
可惜了,PS只是微软的一厢情愿,正常系统都懒得学习使用,更别提PE了

确实如此, 还是批处理受众广大
回复

使用道具 举报

22#
发表于 2021-10-10 14:56:02 | 只看该作者
选择专家模式,WimBuilder2会有一个 组件(ADK) 选项,可以直接打入ADK的组件包。


点评

感谢S大的指点! 昨晚全新安装了WIN10系统,下载最新Adk给原版的BOOT.wim打入Powershell后,再用WB2添加功能制作全功能的PE,没想到成功了, 【PS:直接使用开发模式,勾选组件中的那些Powershell的选项仍然定制  详情 回复 发表于 2021-10-11 12:22
这个试过, 即使全勾上, 但是构建时也报文件不存的错误, 我在谷歌搜索的时候找到一篇文章, 说是可以大副减小WIM包的体积 https://oofhours.com/2021/06/02/windows-pe-why-so-big-make-it-smaller/  详情 回复 发表于 2021-10-10 15:03
回复

使用道具 举报

23#
 楼主| 发表于 2021-10-10 15:03:54 | 只看该作者
本帖最后由 2013kyj 于 2021-10-10 15:05 编辑
slore 发表于 2021-10-10 14:56
选择专家模式,WimBuilder2会有一个 组件(ADK) 选项,可以直接打入ADK的组件包。

这个试过, 即使全勾上, 但是构建时也报文件不存的错误,

我在谷歌搜索的时候找到一篇文章, 说是可以大副减小集成Powershell后的WIM包的体积, 另外发现,给原版的boot.wim打powershell后, 集成的.net比wb2集成的.net包要小不少
https://oofhours.com/2021/06/02/ ... ig-make-it-smaller/
回复

使用道具 举报

24#
发表于 2021-10-10 15:06:42 | 只看该作者

进来围观学习……
回复

使用道具 举报

25#
 楼主| 发表于 2021-10-11 12:22:44 | 只看该作者
本帖最后由 2013kyj 于 2021-10-11 12:24 编辑
slore 发表于 2021-10-10 14:56
选择专家模式,WimBuilder2会有一个 组件(ADK) 选项,可以直接打入ADK的组件包。

感谢S大的指点!
昨晚全新安装了WIN10系统,下载最新Adk给原版的BOOT.wim打入Powershell后,再用WB2添加功能制作全功能的PE,没想到成功了,

【PS:直接使用开发模式,勾选组件中的那些Powershell的选项仍然定制失败】

但这个集成powershell的全功能的PE,又有了新问题,我的电脑是USB的无线网卡,无线驱动死活装不上,提示下面的错误,但是如果使用同样的预置,直接用原版的BOOT.wim生成的PE,打wifi驱动就没有问题

生成的,全功能的添加Powershell的BOOT.wim文件下载链接:链接: https://pan.baidu.com/s/1UX2PazQFbwMwg9HDHFMVEA 提取码: zgbt

用的打驱动的软件是Drvindex3.9.9.6,提示下面的错误,用驱动精灵也报错装不上
-----------------------------------------------------------------------------------------------
其他设备: PCI Simple Communications Controller
硬件ID:  PCI\VEN_8086&DEV_1C3A&SUBSYS_1C3A1458&REV_04
安装结果:找不到匹配的驱动。

硬盘控制器: Standard SATA AHCI Controller
硬件ID:  PCI\VEN_8086&DEV_1C02&SUBSYS_B0051458&REV_05
安装结果:找不到匹配的驱动。

其他设备: 802.11n WLAN Adapter
硬件ID:  USB\VID_0BDA&PID_8176
压缩包:  C:\DRV\NET.CAB
INF文件: oem0.inf
安装结果:未能成功安装设备驱动程序
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-4 09:37

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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