2

我想要实现的目标:我想通过计划任务更新一批 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 -fand &。在第一次尝试中,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 工作后,我通过备份、重置和恢复来完成此操作。

4

1 回答 1

1

I had to use this code with Windows 8.1 64bit to service Win 10 wim (after installing DISM from the newest ADK of course):

import-module "c:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM"

$env:Path = "c:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM;$env:Path"

Use in each new session.

于 2018-09-12T00:52:16.080 回答