显示具有过滤结果的SC组的成员

时间:2014-12-18 11:51:36

标签: powershell active-directory

我试图制作一个关于如何制作简单get-ADGroupMember的脚本,但有几个显示的结果。上面的cmdlet可以显示的内容,即邮件' -attribute。

Get-ADGroupMember -identity "group-name one" -Recursive | Get-ADUser -property DisplayName | Select Name,DisplayName,mail

一个简单的解决方案是使用下面的代码,因为它显示了我想要的结果(我已经删除了输出中的敏感信息)。当我要向客户提供这些信息时,我想要更多"清洁"查看输出,上面的代码可以提供(用户友好)。如果不是因为它没有显示邮件属性,那么第一个输出正常工作。

Get-ADGroupMember -identity "avd-Barn- och utbildningskontoret" -Recursive | Get-ADUser -property mail

DistinguishedName : 
Enabled           : True
GivenName         : Lisa
mail              : 
Name              : 
ObjectClass       : user
ObjectGUID        : 98cb2a62
SamAccountName    : 
SID               : S-1-5-21
Surname           : surname
UserPrincipalName : 

有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:1)

这给了我想要的东西。这样,如果将来需要,我也可以同时添加几个组。

$arrResults = @()
foreach($varGroup in (Get-ADGroupMember -identity "groupname")){
foreach($varUser in (Get-ADUser $varGroup -properties mail | select SamAccountName, mail)){
foreach($varUsor in (Get-ADUser $varGroup -properties DisplayName | select DisplayName)){
$objResult = New-Object PSobject
$objResult | Add-Member -membertype NoteProperty -Name "SamAccountName" -Value $varUser.SamAccountName
$objResult | Add-Member -MemberType NoteProperty -Name "Mail" -Value $varUser.mail
$objResult | Add-Member -Membertype NoteProperty -Name "DisplayName" -Value $varUsor.DisplayName
$arrResults += $objResult
}
}
}
$arrResults

答案 1 :(得分:1)

最简单的方法是:

Get-ADGroupMember -Identity "group-name one" -Recursive | Get-ADUser -properties DisplayName,mail | Select Name,DisplayName,mail
相关问题