Получать пользовательские группы без ссылки в командной строке из командной строки

Я часто использую команду net user для просмотра групп AD для пользователя:

net user /DOMAIN <username>

Это хорошо работает, однако имена групп усекаются примерно до 20 символов. И в моей организации большинство имен групп намного длиннее этого.

Кто-нибудь знает способ получения не усеченных групп AD через командную строку?

Ответ 1

Вы можете проанализировать вывод из команды GPRESULT.

Ответ 2

GPRESULT - это правильная команда, но она не может быть запущена без параметров. /v или подробный вариант трудно обойтись без вывода в текстовый файл. НАПРИМЕР. Я рекомендую использовать

gpresult /user myAccount /v > C:\dev\me.txt - Убедитесь, что существует C:\Dev\me.txt

Другая опция - отображать только сводную информацию, которая может быть полностью видна в окне команд:

gpresult /user myAccount /r

Учетные записи перечислены в заголовке:

The user is a part of the following security groups
---------------------------------------------------

Ответ 3

Немного устаревший пост, но я понял, что это за черт. "Whoami" отвечает вашим потребностям?

Я только что узнал об этом сегодня (из того же поиска Google, который привел меня сюда, по сути). У Windows был инструмент whoami с XP (часть добавления инструментария) и был встроен с Vista.

whoami /groups

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

Ответ 4

Или вы можете использовать dsquery и dsget:

dsquery user domainroot -name <userName> | dsget user -memberof

Чтобы получить членство в группе, выполните следующие действия:

Tue 09/10/2013 13:17:41.65
C:\
>dsquery user domainroot -name jqpublic | dsget user -memberof
"CN=Technical Support Staff,OU=Acme,OU=Applications,DC=YourCompany,DC=com"
"CN=Technical Support Staff,OU=Contosa,OU=Applications,DC=YourCompany,DC=com"
"CN=Regional Administrators,OU=Workstation,DC=YourCompany,DC=com"

Хотя я не могу найти никаких доказательств того, что я когда-либо устанавливал этот пакет на своем компьютере, вам может потребоваться установить Средства администрирования удаленного сервера для Windows 7.

Ответ 6

Основываясь на ответе П. Брайана. Mackey-- я пытался использовать команду gpresult /user <UserName> /r, но, похоже, она работала только для моей учетной записи пользователя; для учетных записей других пользователей я получил такой результат: The user "userNameHere" does not have RSOP data.

Поэтому я прочитал это blog-- https://blog.thesysadmins.co.uk/group-policy-gpresult-examples.html-- и нашел решение. Вы должны знать имя компьютера пользователя:

gpresult /s <UserComputer> /r /user:<UserName>

После выполнения команды вам нужно несколько раз ENTER завершить программу, потому что она остановится в середине вывода. Кроме того, результаты дали кучу данных, включая раздел для "COMPUTER SETTINGS> Applied Group Policy Objects", а затем "COMPUTER SETTINGS> Security groups" и, наконец, "USER SETTINGS> security groups" (это то, что мы ищем с группами AD перечислены с неусеченными описаниями!).

Интересно отметить, что в GPRESULT было несколько дополнительных членов, которых не было в команде NET USER. Кроме того, порядок сортировки не совпадает и не является алфавитным. Любой орган, который может добавить больше комментариев в комментариях, что было бы здорово.

РЕЗУЛЬТАТЫ: gpresult (with ComputerName, UserName)

По соображениям безопасности я включил только часть результатов участия. (36 ВСЕГО, 12 ОБРАЗЦОВ)

The user is a part of the following security groups
---------------------------------------------------
..
 Internet Email 
 GEVStandardPSMViewers  
 GcoFieldServicesEditors    
 AnimalWelfare_Readers  
 Business Objects   
 Zscaler_Standard_Access    
..
 GCM    
..
 GcmSharesEditors   
 GHVStandardPSMViewers  
 IntranetReportsViewers 
 JetDWUsers     -- (NOTE: this one was deleted today, the other "Jet" one was added)
..
 Time and Attendance Users  
..

РЕЗУЛЬТАТЫ: net user /DOMAIN (with UserName)

По соображениям безопасности я включил только часть результатов участия. (23 ВСЕГО, 12 ОБРАЗЦОВ)

Local Group Memberships  
Global Group memberships    ...
                             *Internet Email       *GEVStandardPSMViewers
                             *GcoFieldServicesEdito*AnimalWelfare_Readers
                             *Business Objects     *Zscaler_Standard_Acce
                             ...
                             *Time and Attendance U*GCM
                             ...
                             *GcmSharesEditors     *GHVStandardPSMViewers
                             *IntranetReportsViewer*JetPowerUsers
The command completed successfully.

Ответ 7

Намного проще в PowerShell:

Get-ADPrincipalGroupMembership <username>

Требование: учетная запись, под которой вы работаете, должна входить в тот же домен, что и целевой пользователь, если вы не укажете -Credential и -Server (не проверено).