Я часто использую net user
команду, чтобы посмотреть группы AD для пользователя:
net user /DOMAIN <username>
Это работает хорошо, однако имена групп сокращены примерно до 20 символов. И в моей организации названия большинства групп намного длиннее этого.
Кто-нибудь знает способ получить необрезанные группы AD через командную строку?
whoami /groups
тоже хороший. Но в нем перечислены только группы пользователей, вошедших в систему в данный момент. Однако подражание и хитрое программирование могут обойти это;)Ответы:
Вы можете проанализировать вывод команды GPRESULT.
источник
GPRESULT
это правильная команда, но ее нельзя запустить без параметров./v
или подробный вариант сложно управлять без вывода в текстовый файл. EG Я рекомендую использоватьgpresult /user myAccount /v > C:\dev\me.txt
- Убедитесь, что C: \ Dev \ me.txt существуетДругой вариант - отображать только сводную информацию, которая может быть полностью видна в командном окне:
gpresult /user myAccount /r
Учетные записи перечислены под заголовком:
источник
findstr
вместо перенаправления вывода в файл с последующим поиском файла. Например,gpresult /user myAccount /r | findstr mySearchString
.Немного устаревший пост, но я понял, что за хрень. Удовлетворяет ли "whoami" вашим потребностям?
Я узнал об этом только сегодня (фактически, из того же поиска в Google, который привел меня сюда). У Windows есть инструмент whoami со времен XP (часть дополнения к набору инструментов), и он был встроен с Vista.
Перечисляет все группы AD для текущего пользователя, вошедшего в систему. Я считаю, что для этого действительно требуется, чтобы вы вошли в систему как этот пользователь, поэтому это не поможет, если в вашем случае использования требуется возможность запустить команду для просмотра другого пользователя.
Только названия групп:
источник
WhoAmI
для получения своего имени пользователя, только чтобы понять СЕГОДНЯ, что вы можете сделать гораздо больше с ним! Спасибо.for /f "tokens=1 delims=," %g in ('whoami /groups /fo csv /nh') do @echo "%~g"
(примечание: использовать%%
вместо%
командного файла)Или вы можете использовать dsquery и dsget :
Чтобы получить членство в группах примерно так:
Хотя я не могу найти никаких доказательств того, что я когда-либо устанавливал этот пакет на свой компьютер, вам может потребоваться установить Инструменты удаленного администрирования сервера для Windows 7 .
источник
В PowerShell намного проще:
Get-ADPrincipalGroupMembership <username>
Требование: учетная запись, под которой вы работаете, должна быть членом того же домена, что и целевой пользователь, если вы не укажете
-Credential
и-Server
(непроверено).Кроме того, у вас должен быть установлен модуль Active Directory Powershell, что, как говорит @ dave-lucre в комментарии к другому ответу, не всегда возможно.
Только для названий групп попробуйте одно из следующих:
источник
Использование Powershell: Windows Powershell, работающая с Active Directory
Быстрый совет - определение членства в группе AD с помощью Powershell
источник
From Review
ссылку в конце его комментария? Он не стал комментировать принятый ответ, потому что не нашел его в обзоре.Основываясь на ответе Брайана Макки, я пытался использовать
gpresult /user <UserName> /r
команду, но, похоже, она работала только для моей учетной записи; для учетных записей других пользователей я получил такой результат:The user "userNameHere" does not have RSOP data
.Поэтому я прочитал этот блог - https://blog.thesysadmins.co.uk/group-policy-gpresult-examples.html - и нашел решение. Вы должны знать имя компьютера пользователя:
После выполнения команды вам нужно
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)
ПОЛУЧЕННЫЕ РЕЗУЛЬТАТЫ:
net user /DOMAIN (with UserName)
По соображениям безопасности я включил только часть результатов членства. (ВСЕГО 23, ВЫБОРКА 12)
источник