Есть ли в командной строке способ перечислить всех пользователей в определенной группе Active Directory?
Чтобы узнать, кто входит в группу, перейдите в « Управление компьютером» -> « Локальный пользователь / группы» -> « Группы» и дважды щелкните группу.
Мне просто нужен способ командной строки для извлечения данных, чтобы я мог выполнять некоторые другие автоматизированные задачи.
windows
active-directory
Питер Мортенсен
источник
источник
dsget group "CN=GroupName,DC=domain,DC=name,DC=com" -members -expand
получает вас во вложенные группы, хотя это может не помочь с дубликатами, и дает вам полную строку запроса AD для участника, а не только их CN.Вот еще один способ из командной строки, хотя вы не знаете, насколько автоматизируемым, поскольку вам придется анализировать вывод:
Если группа является «глобальной группой безопасности»:
Если вы ищете «локальная группа безопасности домена»:
источник
net user /domain
). Спасибо!Вот версия команды ds, которую я нашел более полезной, особенно если у вас сложная структура OU и вы не обязательно знаете полное отличительное имя группы.
или если вы знаете CN группы, обычно такой же, как SAM ID, который указан в кавычках, если в имени есть пробелы:
Как указано в комментариях, по умолчанию команды ds * (dsquery, dsget, dsadd, dsrm) доступны только на контроллере домена. Однако вы можете установить пакет инструментов администратора из средств поддержки на установочный носитель Windows Server или загрузить его с сайта загрузки Microsoft.
Вы также можете выполнить эти запросы с помощью PowerShell. PowerShell уже доступен в качестве устанавливаемой функции для Server 2008, 2008 R2 и Windows 7, но вам потребуется загрузить WinRM Framework, чтобы установить его в XP или Vista.
Чтобы получить доступ к любым AD конкретных командлетов в PowerShell вы ТАКЖЕ должны выполнить по крайней мере один из следующих установок:
источник
Для решения PowerShell, для которого не требуется надстройка Quest AD, попробуйте следующее
Это будет перечислять и вложенные группы. Если вы не хотите этого делать, удалите ключ -recursive .
источник
Очень простой способ, который работает на серверах и клиентах:
Возвращает 1, если пользователь находится в группе YOURGROUPNAME, иначе вернет 0
Затем вы можете использовать значение% ERRORLEVEL% (0, если пользователь в группе, 1, если нет), например
источник
whoami /groups | find /I /C "YOURGROUPNAME"
Используя PowerShell и бесплатную командную консоль ActiveRoles для Active Directory от Quest Software, вы можете использовать:
(Get-QADGroup "GroupName"). Члены
http://www.quest.com/powershell/activeroles-server.aspx
источник
Здесь ответы используются
dsget
иdsquery
будут работать только на серверных версиях Windows, так как эти команды не поставляются в других версиях Windows (например, Windows 7). На машинах без этих команд вы можете получить необходимую информацию с помощью команды AdFind .Вот пример запроса для получения членства в группе:
источник
Как составить список локальных групп и пользователей?
Используйте следующий скрипт powershell, чтобы получить список локальных групп и членов этих групп.
Скопируйте текст выше в блокнот и сохраните как
filename.ps1
. Затем запустите файл. Я должен отобразить группы и пользователей в каждой группе, или вы можете просто запустить это из powershell.источник
cmdlet ForEach-Object at command pipeline position 1. Supply values for the following parameters:
а затем в запрашивает ввод,Process[0]
Для отображения участников
UserGroup1
попытки:источник
cmd
по какой-то причине это будет работать слишком хорошо .dsget failed:'Target object for this command' is missing.