打开 [计算机名称] PsLoggedon 的 HKEY_USERS 时出错

打开 [计算机名称] PsLoggedon 的 HKEY_USERS 时出错
  • 我使用 Windows Server 2008R2

我想查看当前谁登录了计算机。我使用了它,PsLoggedOn \\Machine Name or IP 但它给出了以下错误:

打开 [计算机名称] 的 HKEY_USERS 时出错 无法查询资源登录

有什么建议吗?

答案1

使用 PowerShell:

Get-WmiObject -Class win32_process -ComputerName remote-hostname | 
    Where-Object{ $_.Name -eq "explorer.exe" } | 
    ForEach-Object{ ($_.GetOwner()).Domain + "\\" + ($_.GetOwner()).User; }

...更换远程主机名使用计算机名称。

答案2

好吧,很难说清楚什么在这里适用,什么不适用,但请检查SysInternals 论坛上的这篇文章,具体来说,下面我要复制的是。

在目标机器上检查

... [我剪掉了一长串的东西,因为它们可能不适用于这里,将我们带到]...

一旦您的目标机器满足上面列出的所有要求,请从本地机器尝试对目标机器执行以下命令:

网络使用 \\target\Admin$ /用户:管理员

目录 \\target\Admin$

网络使用 \\target\Admin$ /delete

(仅断开连接,不会删除任何内容。)

(他们还提供诸如有关该工具的常见问题解答和指向该工具的 MS 下载页面的链接等资源,因此,有关 Sysinternals 套件的信息或疑问值得一看。)

现在,假设所有这些条件都得到满足,并且您实际上可以执行上述三个命令,那么 PSLoggedon 出现该错误的最常见原因是......远程注册服务被禁用。 默认情况下,它是禁用的,但 PSLoggedon(以及其他功能)需要它才能工作。检查目标机器上的服务,我敢打赌,您需要启用它才能让此工具为您工作。

编辑:

要使用 PSExec 远程启动服务,您可以使用:

psexec \\[target] -u [username with admin rights] -p [password] net start [servicename]

因此,您可以使用 PSExec 远程启动所需的服务,然后使用 PSLoggedOn,而不必实际到每台机器或部署 GPO。

答案3

应用程序运行时的用户环境(默认网络凭据)需要在HKEY_USERS您想要查询的计算机上访问配置单元并打开和读取该配置单元。

要“提升命令会话”,请右键单击可执行文件(cmd.exe例如),然后选择“以管理员身份运行”。现在,从该命令提示符运行的所有可执行文件都将以“提升的权限”运行

在 TechNet 上阅读更多内容用户帐户控制,Windows 中管理令牌提升的功能

相关内容