我想要实现的目标:我想通过计划任务更新一批 wim 文件。然后我挂载了wims,添加了更新包并卸载了wims。到目前为止,通过 Windowsserver 2012r2 上的 PoSh4 中包含的 dism 模块没有问题。
问题:
这不适用于 Windows 10 的 wim 文件,因为通过模块使用的 dism 版本 (6.3.x) 低于所需的 wim-image (10.x) 版本。
我尝试了什么:
1) 删除库存 dism-module viaremove-module dism
并导入 dism-module via Import-Module 'C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM'
。RunningGet-WindowsEdition -Online -verbose
仍然提供 dism 版本 6.3.x
2)C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\dism.exe
在脚本中使用 via$env:path
或 via -f
and &
。在第一次尝试中,dism 没有得到我试图应用的论点。在第二次尝试中, dism 没有被识别为命令。
一定有什么我忽略了,但我无法弄清楚。
代码需要是什么样的?参数可以是例如:
$mountpath = 'd:\autoupdating'
$package = 'D:\updates\whatever.cab'
$dismcommands = "/image:$mountpath /add-package /packagepath:$package
解决方案:
$dismcommands
当我想要它时,PoSh 或 DISM 会遇到严重的问题。DISM 不会将该字符串识别为可用命令。DISM.exe "/image:$mountpath /add-package /packagepath:$package"
你可以通过没有问题的工作轻松绕过这个
。此外,您需要将$env:Path
变量修改为 target C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\
。$env:Path
在完成WIn10.wim 工作后,我通过备份、重置和恢复来完成此操作。