Как экспортировать подробный список пользователей Active Directory на вкладке «Член»?

8

В настоящее время я нахожусь в процессе реструктуризации списка пользователей Active Directory компании, в которой я работаю, и человека, который сделал это, сделал ужасную работу и, конечно, здесь больше не работает.

Мой вопрос заключается в следующем: я хочу иметь электронную таблицу Excel (в идеале), содержащую всю информацию, содержащуюся на вкладке «Участник» пользовательской диаграммы.

Я попытался создать запрос, но в результате я получаю только список пользователей, которые являются «участниками» чего-либо, а не фактическое содержимое вкладки «участник».

Есть ли способ сделать это, либо через командную строку или непосредственно из Active Directory?

Справедливое предупреждение: я ничего не знаю о VBS и Powershell.


источник

Ответы:

7

Если вы хотите получить членство в группе пользователя, выполните следующую команду PowerShell :

Get-ADPrincipalGroupMembership $Username | Select Name | out-file "filepath" где вы хотите сохранить документ, в том числе имя, которое вы хотите документ "

Где $Usernameимя пользователя, которого вы запрашиваете.

мистифицировать
источник
ИМО это правильный инструмент для работы.
Blaughw
3

У меня есть это, вам нужно немного изучить PowerShell, чтобы сделать его дамп в CSV, сейчас он просто дамп в текстовый файл.

$users = Get-ADUser -Filter * -Properties * -SearchBase "OU=something,DC=domain,DC=net"
foreach ($user in $users) {
    $file = $user.Name + '_ACL'        
    (Get-ADUser –Identity $user –Properties MemberOf).MemberOf -replace '^CN=([^,]+),OU=.+$','$1' | Out-File c:\PSResults\$file.txt
    }

Я никогда не тратил время на то, чтобы заставить его работать на выходе CSV, поскольку это делало то, что мне было нужно.

- Если вы хотите, чтобы он экспортировался в CSV, просто измените путь к файлу out-file на путь, по которому вы хотите его сохранить, плюс имя документа.csv, например, out-file C: \ PSResults \ $ file.csv будет экспортирован в CSV с именем $ file

mortenya
источник
Просто увидел, что Джош Р избил меня до этого. Его тоже проще.
Мортеня
1
Тем не менее, ваш будет работать на более низких версиях PowerShell.
Джош
Правда, я должен был помнить об этом, когда делюсь сценариями в своей группе, так как я единственный, у кого есть опыт работы с PowerShell, и, как таковой, единственный, кто когда-либо обновлял
версию
Теперь, когда я думаю об этом, я верю Get-ADPrincipalGroupMembershipв 2.0. Не уверен, что я думал.
Джош
Спасибо вам обоим за ответ. Я попробую Josh R завтра на работе, так как на самом деле все выглядит намного проще. Если я не понимаю, мне нужно будет сгенерировать этот запрос для каждого пользователя в моем домене? Или, если бы я использовал Мортени, он с первого раза сгенерировал бы полный список? Просто хочу убедиться, что я правильно понимаю! :)
1

Вы можете создать и определить новый Запрос, примененный к OU, который содержит ваших пользователей в «AD Users and Computers», введя следующую строку запроса:

(&(&(&(&(objectCategory=user)(userAccountControl=512)))))

затем экспортируйте результаты в csv, используя «Экспорт списка» в верхней части окна AD.

user320631
источник
0

Чтобы получить файл в CSV, просто замените «Out-File c: \ PSResults \ $ file.txt» в своем коде на «Export-CSV -path c: \ PSResults \ $ file.csv -NoTypeInformation»

Так это будет выглядеть примерно так:

$users = Get-ADUser -Filter * -Properties * -SearchBase "OU=something,DC=domain,DC=net"
foreach ($user in $users) {
$file = $user.Name + '_ACL'        
(Get-ADUser –Identity $user –Properties MemberOf).MemberOf -replace '^CN=([^,]+),OU=.+$','$1' | Export-CSV -path c:\PSResults\$file.csv -NoTypeInformation
}

Однако, как уже сообщали другие, нижеприведенное лучше всего использовать, так как это простой вкладыш:

Get-ADPrincipalGroupMembership USERNAME | Select Name | Export-CSV -path C:\Temp\file.csv -NoTypeInformation
Анри Малдре
источник
это не будет работать в случае, если есть ребята из вложенной группы .. как один пользователь является членом 20 группы, он не будет отображаться
user420934