活动目录查询,以获取已登录到域计算机的所有用户



我正在尝试查询,而不是在Windows 7和10上手动访问每台计算机的用户文件夹。我需要为大约 85 台计算机生成一个列表,包括曾经登录过它的用户。CCM 似乎没有什么特别适合此的,但本地管理员。我知道我可以运行 powershell 来获取当前登录的用户,但我需要所有曾经登录过的用户。有没有办法让所有通过powershell或其他方法从计算机登录的用户,这样我就不必出于效率原因手动检查它们

每个登录的人都会创建一个配置文件,因此您可以检查所有现有的配置文件,这些配置文件将显示在C:Users下的目录。假设您在远程计算机上具有管理员权限,则可以执行以下操作:

Get-ChildItem -Path "\computernamec$Users" | Select Name

您将不得不过滤掉一些条目,例如Default.

这将为您提供用户名。但是,如果您的环境中有多个域,这可能还不够,因为它不会告诉您帐户来自哪个域。如果这对您来说是一个问题,您可以查看注册表。配置文件列表位于:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList

它具有每个帐户的 SID,然后可以在 AD 中查找该帐户。这里有一个在PowerShell中查看注册表的示例:https://stackoverflow.com/a/15069578/1202807

$Users = Get-Content -Path "C:PCs.txt"
$out = ForEach ($user in $users)
{ invoke-command -computername $User {Get-ChildItem "C:users" |
select-object Name, @{Name='ComputerName';Expression={ $env:COMPUTERNAME }} |
ft -AutoSize
}}
$out | Out-File "c:users.txt"

这个Powershell命令适用于Windows 10,但没有过滤器。

相关内容

最新更新