Win7上的WMI问题

发布于 2024-10-25 02:57:50 字数 374 浏览 5 评论 0原文

有人知道为什么下面的简单 Powershell 脚本在 Windows XP 下运行良好,但在 Windows 7 下运行不佳吗?

获取 WmiObject -Class win32_logonsession | %{ get-wmiobject -Query "Associators of {Win32_logonSession.LogonID=$($_.LogonId)} where AssocClass = Win32_LoggedOnUser Role=Dependent" }

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

一直在 MSDN 和 Google 上查找,但尚未找到答案。

Anyone understand why the simple Powershell script below works fine under Windows XP but not under Windows 7?

Get-WmiObject -Class win32_logonsession | %{ get-wmiobject -Query "Associators of {Win32_logonSession.LogonID=$($_.LogonId)} where AssocClass = Win32_LoggedOnUser Role=Dependent" }

Under Windows 7 it doesn't list any interactive accounts, only sessions for the local system account, network service etc. However under XP it returns information for all accounts.

Have been looking on MSDN and Google however haven't found an answer as yet.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

肩上的翅膀 2024-11-01 02:57:50

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

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

Seems the problem is that behind the scenes a double hop is occurring and WMI under Windows 7 is trying to find the user account details with an anonymous bind against AD. We only accept authenticated queries so this silently fails.

Going to give WMI a skip and try to pinvoke with LSA functions to get this to work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文