В настоящее время я занимаюсь реструктуризацией списка пользователей Active Directory компании, в которой я работаю, и человек, который это сделал, проделал ужасную работу и, конечно же, больше здесь не работает.
У меня следующий вопрос: Я хочу иметь электронную таблицу Excel (в идеале), содержащую всю информацию, содержащуюся на вкладке «Член в» пользовательской диаграммы.
Я попытался создать запрос, но результат дает мне только список пользователей, которые являются «членами» чего-то, а не фактическое содержимое вкладки «член».
Есть ли способ сделать это через командную строку или напрямую из Active Directory?
Честное предупреждение: я ничего не знаю о VBS и Powershell.
Если вы хотите получить членство в группе пользователя, запустите это PowerShell команда:
Get-ADPrincipalGroupMembership $Username | Select Name | out-file "filepath"
где вы хотите сохранить документ, включая имя, по которому вы хотите сохранить документ "
куда $Username
имя запрашиваемого пользователя.
У меня есть это, вам нужно будет немного изучить 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, просто измените путь исходящего файла на путь, в котором вы хотите его сохранить, плюс имя файла document.csv, например, исходящий файл C: \ PSResults \ $ file.csv будет экспортировать в CSV с именем $ file
Вы можете создать и определить новый запрос, применяемый к OU, который содержит ваших пользователей в «AD Users and Computers», введя следующую строку запроса:
(&(&(&(&(objectCategory=user)(userAccountControl=512)))))
затем экспортируйте результаты в CSV, используя «Список экспорта» в верхней части окна AD.
Чтобы поместить файл в 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