Elven
04-07-2017, 11:55
Аудит затребовал данные по пользователям (в каких группах какие состоят), и дело было бы решаемо одной строкой
Get-ADUser UserName -Properties Memberof | Select -ExpandProperty memberOf
если бы не одно но. Пользователи у нас состоят в группе своего отдела (сектора, управления и т.п.), а уже эта группа включена в другие группы, имеющие разрешения на определенные ресурсы (подробнее здесь (https://obskuroblog.wordpress.com/2017/03/16/%D0%BD%D0%B0%D0%B2%D0%BE%D0%B4%D0%B8%D0%BC-%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BE%D0%BA-%D0%BD%D0%B0-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%BF%D0%BE%D0%BC%D0%BE%D0%B9%D0%BA%D0%B5)).
Т.о. если выполнить вышеприведенный код выводится, например, один отдел и пару групп с разрешением на совсем уж индивидуальные ресурсы, а если от имени пользователя выполнить
gpresult /r
в разделе "Пользователь является членом следующих групп безопасности" выведется полтора десятка групп в которых он по факту состоит.
Разумеется обежать полторы сотни пользователей по которым запросили информацию малореально, как и долго и нудно выколупывать информацию по каждому подразделению (т.к. группа отдела в свою очередь может быть в группе управления), посему хотелось бы через PowerShell (ну или через cmd - чем проще то и подойдет) получить список аналогичный выводимому в gpresult.
Get-ADUser UserName -Properties Memberof | Select -ExpandProperty memberOf
если бы не одно но. Пользователи у нас состоят в группе своего отдела (сектора, управления и т.п.), а уже эта группа включена в другие группы, имеющие разрешения на определенные ресурсы (подробнее здесь (https://obskuroblog.wordpress.com/2017/03/16/%D0%BD%D0%B0%D0%B2%D0%BE%D0%B4%D0%B8%D0%BC-%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BE%D0%BA-%D0%BD%D0%B0-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%BF%D0%BE%D0%BC%D0%BE%D0%B9%D0%BA%D0%B5)).
Т.о. если выполнить вышеприведенный код выводится, например, один отдел и пару групп с разрешением на совсем уж индивидуальные ресурсы, а если от имени пользователя выполнить
gpresult /r
в разделе "Пользователь является членом следующих групп безопасности" выведется полтора десятка групп в которых он по факту состоит.
Разумеется обежать полторы сотни пользователей по которым запросили информацию малореально, как и долго и нудно выколупывать информацию по каждому подразделению (т.к. группа отдела в свою очередь может быть в группе управления), посему хотелось бы через PowerShell (ну или через cmd - чем проще то и подойдет) получить список аналогичный выводимому в gpresult.