如何使用Windows 7中的PowerShell或命令行打开或closuresWindowsfunction?

我已经针对Windows XP中的sysocmgr ,server 2008中的servermanagercmd编写了脚本,现在我发现我必须使用新的PowerShell模块servermanager来安装Server 2008 R2上的function,所以我期望在Windows 7中使用相同的模块但它不在那里。

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

要获得真正的 PowerShell体验,您需要下载Windows AIK for 8.0并使用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 

确保您将<arch>replace为正在运行powershell的机器的体系结构。 DISM文件夹甚至可以复制和重新分发到机器(如果需要的话),我不知道微软是否允许重新分发。

特定命令折腾一个Windows可选function是

 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。

试图从Windows 7/8运行PowerShell只会让你这样:

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

dism是我find的唯一方法。

手动添加ServerManager-function。 然后你可以添加servermanager-module:

导入模块servermanager

得到-windowsfeature

 ocsetup.exe /? 

除了出现错误,您还可以使用在Windows Vista和Windows Server 2008上默认安装的ocsetup 。如果您正在寻找能够在所有这三种解决scheme中工作的脚本,那么这可能就是要走的路。

对于Powershell部分,打开“Windows PowerShell模块”提示符并进入

PS1>添加-WindowsFeature [function名称]

例如

添加WindowsFeature SMTP服务器

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

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