簡體   English   中英

如何使用c#檢查是否激活了Windows功能

[英]How can I check if windows features are activated using c#

我的研究表明,我可以使用DISM上的以下命令找出Windows功能的狀態(已啟用/已啟用):

dism /online /get-features | more

使用此命令,我得到一個列表(對不起德語):

Windows功能

我可以使用類Process()通過C#執行dism-command。 我的下一個任務是將此列表解析為KeyValuePairs列表,並比較我所需功能的狀態。 但這似乎很不方便且容易出錯。

有沒有穩定的方法來檢查特定的Windows功能是否被激活?

(我使用的是.NET Framework 4.5)

我想激活以下功能: - Windows Server 2008 - Windows Server 2008 R2 - Windows 7 - Windows 8 - Windows 8.1 - Windows Server 2012

這是我使用的類,我從某個地方得到的一個例子(很可能是SO):

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

            //add to my list
            InstalledFeatures.Add(featureName);

            if (BadRoles.Contains(featureName))
                DetectedBadRoles.Add(featureName);
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM