我想从一些以某个字符串结尾的~600AD组中检索SamAccountName。
例如:
AD Groups:
AAA-BBB-XXX
CCC-DDD-XXX
EEE-FFF-XXX现在我想得到以XXX结尾的所有AD组的SamAccountName,但也有一个SamAccountName和AD组之间的关系,以便我知道它们属于哪个AD组。所以:
SamAccountName | AD GROUP
------------------------------
Bernie.Sanders | AAA-BBB-XXX
Donald.Trump | AAA-BBB-XXX
Barack.Obama | AAA-BBB-XXX
Joe.Biden | CCC-DDD-XXX我已经管理导出所有XXX广告组到.csv与-like和-filter运算符.我已经管理导出所有的SamAccountName使用和-identity运算符.
但是,我还不能(还)创建上面的列表,因为我是PS新手。我正在寻找一些“哪里”的声明,并需要一些指导。
谢谢
发布于 2022-01-14 00:29:46
为此,您可以使用带有的Select-Object将"AD组成员“与"AD”组合起来。为了筛选与您的条件匹配的组,在本例中,以XXX结尾,您可以使用来自-LDAPFilter cmdlet的-Filter或Get-ADGroup。
$filter = "(samAccountName=*XXX)" # => Ends with XXX
$result = foreach($group in Get-ADGroup -LDAPFilter $filter)
{
# Here all groups ending with XXX are being enumerated
Get-ADGroupMember $group | Select-Object @{
Name = 'ADGroup'
Expression = { $group.samAccountName }
}, samAccountName, ObjectClass
}
$result | Export-Csv .... 请注意,AD组的成员可以是,而不仅仅是用户,如果您想要添加其类为"User“的组成员,可以添加Where-Object或.Where()方法:
Get-ADGroupMember $group |
Where-Object { $_.ObjectClass -eq 'user' } |
Select-Object ....(Get-ADGroupMember $group).Where({
$_.ObjectClass -eq 'user'
}) | Select-Object ....https://stackoverflow.com/questions/70704692
复制相似问题