导出 Windows 2008 服务器上已安装功能的列表

导出 Windows 2008 服务器上已安装功能的列表

我被要求指定安装在生产 Web 服务器上的功能,以便可以创建副本测试环境。

我可以通过点击找到解决方案,但我很好奇如何通过脚本完成此操作。我想到的是 Powershell 或 WMI。报告应显示已安装的所有关键系统功能以及版本号。理想情况下,它还会提供有关已安装操作系统的一些信息

答案1

Win32_服务器功能如果您必须使用 WMI 编写脚本,那么这就是您要找的东西。它仅适用于 Windows 2008。以下是 MSDN 链接中的示例 VBScript 代码。

strComputer = "FABRIKAM"

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colFeatureList = objWMIService.ExecQuery _
    ("SELECT Name FROM Win32_ServerFeature")

For Each objFeature In colFeatureList
   WScript.Echo objFeature.Name

Next

答案2

在 Server 2008 R2 中,这非常简单:

Import-Module ServerManager
Get-WindowsFeature

希望这可以帮助

答案3

MSDN 上有一篇博客文章介绍如何在 Windows 2008 Server 上添加、删除和查询角色

从 PowerShell 命令提示符

servermanagercmd.exe -query roles.xml

点击此处查看完整博客http://blogs.msdn.com/b/patricka/archive/2008/03/05/detecting-what-server-roles-are-installed-on-windows-server-2008.aspx

答案4

我跟着用于导出已安装的 Windows 功能并将其导入新服务器的链接。

要获取所有已安装的角色和功能 -

Get-WindowsFeature | where{$_.Installed -eq $True} | select displayname,name

将所有角色导出到 .csv 文件,以便您可以在另一台服务器上使用它 -

Get-WindowsFeature | where{$_.Installed -eq $True} | select name | Export-Csv C:\scripts\Roles.csv -NoTypeInformation -Verbose

现在,您可以在具有完全相同角色和功能的新服务器上使用此 .csv 文件 -

Import-Csv C:\scripts\Roles.csv | foreach{Add-WindowsFeature $_.name  }

我已经在 Windows Server 2012 上尝试过这个,我认为它也适用于其他版本。

相关内容