如何在 Windows 7 中使用 Powershell 或命令行打开或关闭 Windows 功能?

如何在 Windows 7 中使用 Powershell 或命令行打开或关闭 Windows 功能?

sysocmgr我曾在 Windows XP和 Server 2008 中编写过脚本servermanagercmd,现在我发现必须使用新的 PowerShell 模块servermanager才能在 Server 2008 R2 上安装功能,因此我希望在 Windows 7 中使用相同的模块,但它并不存在。

如何在 Windows 7 中使用命令行或 PowerShell 安装 Windows 功能?

答案1

答案2

为一个真的powershell 体验,您需要下载适用于 8.0 的 Windows AIK 并使用dism module。它位于

C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Deployment Tools\<arch>\DISM

你可以使用 powershell 将指向该文件夹

Import-Module C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Deployment Tools\<arch>\DISM

确保更换< 拱门 >与运行 powershell 的机器的架构一致。如果需要,甚至可以将 DISM 文件夹复制并重新分发到机器上(就功能而言,我不知道重新分发是否真的允许由微软提供)。

丢弃 Windows 可选功能的具体命令是

Get-WindowsOptionalFeature -Online | where FeatureName -eq mediacenter

这将返回一个Microsoft.DISM.Commands.BasicFeatureObject,如图所示这里。从那里,您可以将state属性设置为禁用,例如

$(Get-WindowsOptionalFeature -Online | where FeatureName -eq mediacenter).state = 
    [Microsoft.DISM.Commands.FeatureState]::Disabled

再见了,媒体中心。当然,这必须从提升的提示符下运行,并且开关-Online指的是当前正在运行的 Windows,而不是脱机映像。

此外,此模块需要 WMF 3.0 和需要.NET 4.0,仅供参考。

答案3

尝试从 Windows 7/8 运行 PowerShell 只会得到以下结果:

Get-WindowsFeature:指定 cmdlet 的目标不能是基于 Windows 客户端的操作系统。

dism是我发现的唯一有效的方法。

答案4

ocsetup.exe /?

除了 dism 之外,你还可以使用oc设置它默认安装在 Windows Vista 和 Windows Server 2008 上。如果您希望编写一个可以在这三个系统上运行的脚本,那么这可能是可行的方法。

相关内容