0

任何人都明白为什么下面的简单 Powershell 脚本在 Windows XP 下运行良好但在 Windows 7 下运行良好?

Get-WmiObject -Class win32_logonsession | %{ get-wmiobject -Query "AssocClass = Win32_LoggedOnUser Role=Dependent 的 {Win32_logonSession.LogonID=$($_.LogonId)} 的关联者"}

在 Windows 7 下,它不会列出任何交互式帐户,只列出本地系统帐户的会话、网络服务等。但是在 XP 下,它会返回所有帐户的信息。

一直在寻找 MSDN 和谷歌,但还没有找到答案。

4

1 回答 1

1

似乎问题在于,在幕后发生了双跳,并且 Windows 7 下的 WMI 试图通过针对 AD 的匿名绑定来查找用户帐户详细信息。我们只接受经过身份验证的查询,所以这会默默地失败。

将跳过 WMI 并尝试使用 LSA 函数进行 pinvoke 以使其正常工作。

于 2011-03-24T23:22:09.080 回答