如何以交互方式登录到Windows主机会影响对该主机的WMI查询?

时间:2011-08-21 12:22:59

标签: windows wmi wql

我有一个在远程主机上执行WMI查询的应用程序。我正在尝试定义用于执行查询的用户所需的最小安全权限。

我已经定义了具有最小权限的用户。我发现此用户具有足够的权限来执行所需的查询,但前提是相同的用户在远程主机上以交互方式登录。

例如,如果我使用nonadmin用户登录到远程主机(即在远程主机上打开桌面),则查询select * from Win32_Environment将返回2个条目,而不是我未登录的条目。 2个条目是:

instance of Win32_Environment
{
    Caption = "COMP-BAF3244E\\nonadmin\\TEMP";
    Description = "COMP-BAF3244E\\nonadmin\\TEMP";
    Name = "TEMP";
    Status = "OK";
    SystemVariable = FALSE;
    UserName = "COMP-BAF3244E\\nonadmin";
    VariableValue = "%USERPROFILE%\\Local Settings\\Temp";
};

instance of Win32_Environment
{
    Caption = "COMP-BAF3244E\\nonadmin\\TMP";
    Description = "COMP-BAF3244E\\nonadmin\\TMP";
    Name = "TMP";
    Status = "OK";
    SystemVariable = FALSE;
    UserName = "COMP-BAF3244E\\nonadmin";
    VariableValue = "%USERPROFILE%\\Local Settings\\Temp";
};

如wbemtest工具中的MOF表示中所示。 wbemtest连接是\\remotehost\root\cimv2用户nonadmin

登录远程主机如何影响WMI查询的结果?

我需要向用户添加哪些权限才能在远程用户未登录时提供其他信息?

1 个答案:

答案 0 :(得分:0)

除非用户拥有正确的权限,否则问题与未加载的用户个人资料有关。

未加载的用户配置文件也是调用Win32_Process.Create的问题。如果没有加载配置文件,则会因UNKNOWN FAILURE(8)而失败。

感谢this blog post指出错误的原因!

为了在远程WMI访问期间自动加载用户配置文件,请为用户提供“备份文件和目录”和“还原文件和目录”用户权限。

您可以在以下网址找到这些权利政策:

"Run..." --> secpol.msc --> Local Policies --> User Rights Assignment