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


11

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

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


时间终于提供了使用powershell的方法,我的回答如下。
MDMoore313 2013年

Answers:



6

为了获得真正的 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的计算机体系结构替换<arch>。如果需要,甚至可以将该DISM文件夹复制并重新分发到计算机上(说到功能,我不知道Microsoft 是否实际上允许重新分发)。

抛弃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,仅是FYI。


1
我能够Enable-WindowsOptionalFeature -FeatureName NetFx3 -Online在Windows 8.1机器上运行而无需安装AIK。但是,我确实安装了WMF5预览。也许提供了它?该模块从C:\windows\system32\windowspowershell\v1.0\Modules\Dism\Dism.psm1
bshacklett

4

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

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

dism 是我发现可行的唯一方法。


2

手动添加ServerManager功能。然后,您可以添加servermanager-module:

导入模块服务器管理器

获取Windows功能


1
如何分别添加ServerManager功能?
fschwiet

2
这将适用于Windows 2008R2和更高版本,但不适用于Windows7。–
Trondh

2
ocsetup.exe /?

除了dism之外,您还可以使用ocsetup,它默认安装在Windows Vista和Windows Server 2008上。如果要编写可在所有这三种功能上使用的脚本,那么这可能是可行的方法。


-1

对于Powershell部分,打开“ Windows Powershell模块”提示,然后输入

PS1> Add-WindowsFeature [功能名称]

例如

添加Windows功能SMTP服务器

Get-WindowsFeature显示所有可用功能的名称


1
我很确定这仅适用于Windows Server 2008 R2。
Jeffery Hicks,2009年

Jeffery是正确的,默认情况下这在Windows 7中不起作用。如果您知道使它工作的方法,我想知道。
克里斯·马格努森

-1

您可以使用从Windows 7到Windows Server 2008 R2的远程会话,然后运行Add-WindowsFeature。即使安装了RSAT,我也无法在Win7上找到它。


1
那不会将功能添加到Windows Server 2008 R2框中,而不是添加到本地Windows 7实例中吗?如果没有,请解释。
克里斯·马格努森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.