问题描述
我正在Windows Server 2012 r2计算机上运行PowerShell ISE。 当我运行以下命令时:
Get-WindowsCapability
我收到以下错误:
Get-WindowsCapability:术语“ Get-WindowsCapability”不是 识别为cmdlet,函数,脚本文件或可操作文件的名称 程序。检查名称的拼写,或者是否包含路径, 验证路径正确,然后重试。在第1行:char:1
- Get-WindowsCapability
+ CategoryInfo : ObjectNotFound: (Get-WindowsCapability:String) [],CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
我是否缺少PowerShell软件包? 如何使用此功能?
谢谢JohnB
解决方法
Get-WindowsCapability
是DISM
模块中的cmdlet。
DISM是与Server 2012 R2一起本地部署的,但是取决于PowerShell的版本或其他配置设置(例如Windows分区的设置位置或特定于映像的自定义设置),有时我们发现需要在使用模块之前将其导入,就像这样:
Import-Module DISM
#or,to see which commands are in the module
Import-Module DISM -Verbose
如果失败,请仔细检查它是否被删除。例如,当您运行以下命令时,它会出现吗?
Get-Module DISM -ListAvailable
如果未出现,则似乎该模块已删除,并且可能是Windows组件。不用担心,我们也可以通过安装Windows自动部署工具包(ADK)found here将其与该模块一起使用。
更新:您也可以在此路径下找到模块
C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\
。
要导入的模块文件将位于x86\DISM
文件夹或x64\DISM
下,并命名为dism.psm1