Ответ 1
Вы можете проанализировать вывод из команды GPRESULT.
Я часто использую команду net user
для просмотра групп AD для пользователя:
net user /DOMAIN <username>
Это хорошо работает, однако имена групп усекаются примерно до 20 символов. И в моей организации большинство имен групп намного длиннее этого.
Кто-нибудь знает способ получения не усеченных групп AD через командную строку?
Вы можете проанализировать вывод из команды GPRESULT.
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
---------------------------------------------------
Немного устаревший пост, но я понял, что это за черт. "Whoami" отвечает вашим потребностям?
Я только что узнал об этом сегодня (из того же поиска Google, который привел меня сюда, по сути). У Windows был инструмент whoami с XP (часть добавления инструментария) и был встроен с Vista.
whoami /groups
Перечисляет все группы AD для текущего пользователя. Я считаю, что для этого требуется, чтобы вы были зарегистрированы в AS, но это не поможет, если ваш случай использования требует возможности запуска этой команды для просмотра другого пользователя.
Или вы можете использовать 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.
Использовать Powershell: Windows Powershell Работа с Active Directory
Быстрый совет - определение членства в группе AD с помощью Powershell
Основываясь на ответе П. Брайана. 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.
Намного проще в PowerShell:
Get-ADPrincipalGroupMembership <username>
Требование: учетная запись, под которой вы работаете, должна входить в тот же домен, что и целевой пользователь, если вы не укажете -Credential
и -Server
(не проверено).