所以我试图做一个看似简单的任务,即使我已经使用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,Schema Admins...}
我无法显示它,所有用户都显示在一行上。我已经尝试过自动调整大小,自动换行,-width以及我的小脑子可以想到的所有其他可能的事情。我已经在谷歌上搜索并尝试了一段时间,我真的只需要一些指导。我敢肯定这很简单,但我根本不了解该怎么做。
我的另一个问题是在每个用户对象上放置一个标题,我想是因为它在循环中,我也许可以自己解决这个问题,但是如果解决方案可以包括它,我将不胜感激。
>感谢您的帮助。谢谢您的阅读。