Как мне запросить (однозначно) информацию о текущем пользователе из Active Directory?

Как мне запросить информацию о текущем пользователе из Active Directory?

Я знаю, что могу получить доступ к большому количеству информации о текущем пользователе из Windows, например, к переменным среды и т.п. Я могу получить имя пользователя и домен текущего пользователя, но что мне нужно для поиска соответствующей записи в AD?

Я особенно хочу быть уверенным, что могу однозначно идентифицировать текущий пользователь в AD, так как этот сценарий имеет дело с большим количеством пользователей, и любую потенциальную двусмысленность может быть трудно разрешить программно. Как лучше всего это сделать?

0
задан 23 May 2017 в 15:41
2 ответа

Если вы хотите сделать это в PowerShell, при условии, что у вас загружен модуль ActiveDirectory ( ipmo ActiveDirectory ), вы можете сделать

Get-ADUser ($env:UserName)

Имя пользователя для входа в систему должно быть уникальным в домене и Get-ADUser будет использовать текущий домен по умолчанию

1
ответ дан 4 December 2019 в 16:43

Поковырявшись некоторое время, я наткнулся на эту маленькую красоту из .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
}
0
ответ дан 4 December 2019 в 16:43

Теги

Похожие вопросы