Назад | Перейти на главную страницу

Определить членство в локальной группе пользователя AD?

У меня есть несколько локальных групп на экземпляре Server 2008. В этой группе несколько участников из нашего домена AD.

Есть ли способ определить все локальные группы, к которым принадлежит данный пользователь домена AD, путем проверки на сервере, а не в одном из компонентов AD? Что-то вроде:

Company\JSMITH John Smith is a member of:
Prod support
Report users
Backup operators

Маркер безопасности JSMITH генерируется, когда JSMITH входит в систему на компьютере, поэтому JSMITH необходимо запустить whoami / groups, чтобы увидеть свое эффективное членство в группе на данном компьютере.

Помимо этого, вы можете получить коллекцию MemberOf от участника-пользователя в AD, однако она будет перечислять только группы безопасности AD, а не локальные группы на другом компьютере.

edit: вам, вероятно, придется написать сценарий, например:

$LocalGroup =[ADSI]"WinNT://Localhost/GROUP"
$UserNames = @($LocalGroup.psbase.Invoke("Members"))
$UserNames | foreach {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}