如何在c#中列出Windows Server 2008的已安装function

如何在c#中列出Windows Server 2008的所有已安装function。 我试图查询dism.exeoclist.exe但并非所有版本都有它。 我可以使用System.Management.ManagementClass以某种方式执行此操作吗?

我找到了它,你必须使用Win32_ServerFeature类( http://msdn.microsoft.com/en-us/library/cc280268(VS.85).aspx )和System.Management.ManagementClass。 它适用于ws2008。

 ManagementClass objMC = new ManagementClass( "Win32_ServerFeature"); ManagementObjectCollection objMOC = objMC.GetInstances(); foreach (ManagementObject objMO in objMOC) { string featureName = (string)objMO.Properties["Name"].Value; }