У меня есть несколько локальных групп на экземпляре 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)}