Итак, я пытаюсь выполнить, казалось бы, простую задачу, и хотя я уже некоторое время работаю с PowerShell, я не использую ее каждый день, поэтому быстро ржавею. Во всяком случае, я пытаюсь опросить каждого пользователя в AD и выяснить, в какие группы безопасности они входят. Я нахожусь на 90% пути, за исключением одной проблемы.
Во-первых, мой код на данный момент:
$users = (Get-ADUser -Filter * -SearchBase "DC=contoso,DC=com").samaccountname | Sort-Object
foreach ($user in $Users) {
$groups = Get-ADPrincipalGroupMembership -Identity $user
$obj = new-object psobject -Property @{
Username = $user
GroupMembership = $groups.samaccountname
}
$obj | Format-Table Username, GroupMembership -auto
}
Проблема, с которой я сталкиваюсь, - это вывод, когда их больше 2 или 3 группы, я получаю многоточие:
Username GroupMembership
-------- ---------------
administrator {Domain Users, Administrators, Domain Admins, Schema Admins...}
Username GroupMembership
-------- ---------------
dhcpbind {Domain Users, Administrators, Domain Admins, Schema Admins...}
Я не могу показать это, все пользователи в одной строке. Я пробовал автоматическое определение размеров, перенос, ширину и все другие мыслимые вещи, которые может придумать мой крошечный мозг. Я уже некоторое время гуглюсь и пробую что-то, и мне действительно нужно какое-то направление. Я уверен, что это что-то простое, но я просто недостаточно разбираюсь, чтобы знать, что делать.
Другая моя проблема в том, что он помещает заголовок над каждым пользовательским объектом, я думаю, это потому, что он находится в l oop и я мог бы решить это самостоятельно, но если бы решение могло включать это, я был бы признателен.
Любая помощь приветствуется. Спасибо за чтение.