我们知道Windows Server 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,该ID为35。
在Windows Server 2016中,这是一种预期的行为吗?
如果不是,我们如何在Windows Server 2016中获取此值?