如何从 Active Directory 中查询(唯一)当前用户的信息?

如何从 Active Directory 中查询(唯一)当前用户的信息?

如何从 Active Directory 查询当前用户的信息?

我知道我可以从 Windows 访问有关当前用户的很多信息,例如环境变量等。我可以获得当前用户的用户名和域,但是我需要在 AD 中查找相应的记录吗?

我尤其想确保我能唯一标识AD 中的当前用户,因为此脚本必须处理大量用户,并且任何潜在的歧义都很难通过编程解决。最好的方法是什么?

答案1

如果你想在 PowerShell 中执行此操作,假设你已经加载了 ActiveDirectory 模块(ipmo ActiveDirectory),你可以这样做

Get-ADUser ($env:UserName)

登录用户名在域上应该是唯一的,并且Get-ADUser默认使用当前域

答案2

经过一番探索,我偶然发现了这个小东西美丽,来自 .NET API:

public static UserPrincipal Current { get; }

自 以来,此功能一直受支持.NET 3.5,因此它也非常适合较旧的 Windows 操作系统。在 PowerShell 中,它可以像这样使用:

# Load in the Assembly for this stuff
[System.Reflection.Assembly]::LoadWithPartialName("System.DirectoryServices.AccountManagement") | Out-Null

Function Get-CurrentUser {
    [System.DirectoryServices.AccountManagement.UserPrincipal]::Current
}

相关内容