sysocmgr
我曾在 Windows XP和 Server 2008 中编写过脚本servermanagercmd
,现在我发现必须使用新的 PowerShell 模块servermanager
才能在 Server 2008 R2 上安装功能,因此我希望在 Windows 7 中使用相同的模块,但它并不存在。
如何在 Windows 7 中使用命令行或 PowerShell 安装 Windows 功能?
答案1
dism.exe /online /?
另外,请查看http://www.windowsnetworking.com/articles_tutorials/Deploying-Windows-7-Part2.html
答案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 上。如果您希望编写一个可以在这三个系统上运行的脚本,那么这可能是可行的方法。