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

Chr*_*son 11 powershell windows-7

我在服务器 2008sysocmgr中的 Windows XP 中编写了脚本servermanagercmd,现在我发现我必须使用新的 PowerShell 模块servermanager在 Server 2008 R2 上安装功能,所以我希望我会在 Windows 7 中使用相同的模块,但事实并非如此那里。

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

MDM*_*313 6

要获得真正的PowerShell 体验,您需要下载适用于 8.0 的 Windows AIK 并使用dism module. 它在

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

你可以将powershell指向那个文件夹

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

确保将<arch>替换为运行 powershell 的机器的架构。如果需要,甚至可以将该 DISM 文件夹复制并重新分发到计算机(说到功能,我不知道Microsoft是否真的允许重新分发)。

抛出 Windows 可选功能的具体命令是

Get-WindowsOptionalFeature -Online | where FeatureName -eq mediacenter
Run Code Online (Sandbox Code Playgroud)

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

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

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

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