2016-08-24 40 views
3

正如我们所知,Windows Server 2016在操作系统安装时间期间提供了一个安装桌面体验的选项,如果这样做,即使“桌面体验”是以下程序代码段也无法检测安装。以编程方式检查是否安装了桌面体验Windows服务器2016

IEnumWbemClassObject* pEnumerator = NULL; 
    hr = pSvc->ExecQuery(
     bstr_t("WQL"), 
     bstr_t("SELECT ID FROM Win32_ServerFeature"), 
     WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, 
     NULL, 
     &pEnumerator); 

hr = pEnumerator->Next(WBEM_INFINITE,1,&pclsObj,&uReturn); 
     if(0 == uReturn) 
     { 
      break; 
     } 
     VARIANT vtProp; 
     hr = pclsObj->Get(L"ID",0,&vtProp,0,0); 

这pEnumerator变量不包含桌面体验功能ID是35

这是在Windows Server 2016年预期的行为? 如果不是我们如何在WIndows Server 2016中获得此值?

回答

0

在此MSDN Link的注册表项仍然有效,即使其他的方法,如果你想拉从注册表中的值在2016年

不再工作,这是在以下位置:

HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Windows NT \ CURRENTVERSION \ InstallationType

2016年桌面体验的REG_SZ值是 “服务器” 2016年的值是 “服务器核心”

Windows 2016并不认为桌面体验是一项功能,因为它不能随时更改。

相关问题