我已经针对Windows XP中的sysocmgr
,server 2008中的servermanagercmd
编写了脚本,现在我发现我必须使用新的PowerShell模块servermanager
来安装Server 2008 R2上的function,所以我期望在Windows 7中使用相同的模块但它不在那里。
如何在Windows 7中使用命令行或PowerShell安装Windowsfunction?
dism.exe /online /?
另外,请查看http://www.windowsnetworking.com/articles_tutorials/Deploying-Windows-7-Part2.html
要获得真正的 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它。