我想知道如何找到在我的 PC 上输入的域用户列表(一些本地组包括域组,域用户可以在我的 PC 上输入)。
答案1
有多种方法可以做到这一点。
- 第一个也是更简单的方法是进入“系统”设置(在控制面板中或按 Windows+Pause)。可以在“高级”选项卡的“用户配置文件”部分中找到用于登录计算机的所有帐户的列表。但这不能编写脚本。
- 您还可以通过查看正确目录(根据您的系统,为 C:\Users 或 C:\Documents and Settings)来检查配置文件用户的列表。但是,如果多个用户在不同环境中使用相同的用户名,您将无法确定用户从哪个域登录,除非检查主配置文件文件夹上的 ACL。
- 最后,您可以使用 WMI 编写脚本,使用“win32_loggedonuser”类。下面是使用以下代码生成的小脚本:Scriptomatic V2:
On Error Resume Next Const wbemFlagReturnImmediately = &h10 Const wbemFlagForwardOnly = &h20 arrComputers = Array("localhost") For Each strComputer In arrComputers WScript.Echo WScript.Echo "==========================================" WScript.Echo "Computer: " & strComputer WScript.Echo "==========================================" Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_LoggedOnUser", "WQL", _ wbemFlagReturnImmediately + wbemFlagForwardOnly) For Each objItem In colItems WScript.Echo "Antecedent: " & objItem.Antecedent WScript.Echo "Dependent: " & objItem.Dependent WScript.Echo Next Next
答案2
C:\Users 下是曾经登录过该机器的每个用户的目录。
除此之外,您还可以检查事件日志。