[英]Get Specific AD Users from AD Group
我需要从 Active Directory 中的特定组中获取特定用户。
到目前为止,我有这个:
$Groupnames = get-adgroup -Filter "name -like '$Groupfilter'" -Properties * -SearchBase $Grouppath |
Select-Object Name, @{
Name='Username';
Expression={
Get-ADGroupMember -identity $($_.Name) -Recursive |
Get-ADUser -Property SamAccountName |
Select -ExpandProperty SamAccountName
}
}
这可以获取带有名称的组。 现在我想从这些组中获取所有用户。 什么有效,但格式完全关闭。 我要这个:
Name Username
---- --------
Group1 user1adm
Group2 {user1adm, user1, user2, user2adm...}
Group3 {user1adm, user3, user2adm, user6...}
但我明白了:
{user1adm, user1, user2, user2adm...}
使用这种格式,我看不到所有用户。
我最后的目标也是排除以adm
结尾的用户,但我不知道该怎么做。
你能帮助我吗?
Get-ADGroupMember可以返回“用户”、“组”或“计算机”类型的对象,因此如果其中一个对象不是用户,则将返回的对象直接传送到Get-ADUser
可能会给您带来麻烦。
话虽如此,从Get-ADGroupMember
返回的对象已经包含您所追求的 SamAccountName 属性,因此您可以从代码中消除 Get-ADUser。
$Groupnames = Get-ADGroup -Filter "name -like '$Groupfilter'" -SearchBase $Grouppath |
Select-Object Name,
@{Name = 'Username'; Expression = {
($_ | Get-ADGroupMember -Recursive |
Select-Object -ExpandProperty SamAccountName |
Where-Object { $_ -notmatch 'adm$' }
) -join ', '
}
}
# output the result on screen
$Groupnames | Format-Table -AutoSize
# output to CSV file
$Groupnames | Export-Csv -Path 'Path\To\The\GroupMembers.csv' -NoTypeInformation
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.