按公司名称过滤 AD 用户

按公司名称过滤 AD 用户

我想要使​​用 power-shell 获取 AD 中具有特定公司名称的用户及其电子邮件地址列表。这些用户都是动态分发列表的一部分。

谢谢,加里

答案1

我没有要处理的动态组。以下方法可能有效。基本上,提取所有组成员用户对象,如果它们与搜索字符串(电子邮件地址部分,我们必须将其添加到数据提取中,因为它不是默认属性)匹配,则将其用户对象放入数组中。导出数组。完成。此代码适用于用户级别权限(一旦 PS 解锁)。

如果 Get-ADGroupMember 无法针对动态通讯组列表工作,我确信 Exchange PS 模块有可以工作的功能。调整代码的第一行即可使用该功能。当然,您必须是 Exchange 管理员(正确的类型)才能使用这些模块。

$listGroupMembers = Get-ADGroupMember "CN=groupname,OU=Distribution Groups,DC=eviltwin,DC=com"
$listOutput = @()
$searchstring = "evilcorp.com"

foreach ($GroupMember in $listGroupMembers) {
    $user = Get-ADUser -Proprties mail  # use -Properties here to bring in other properties than default
    if ( $user.mail -like "*$searchstring*" ) { 
        $listOutput += $user 
        }
    }
$listOutput | Export-Csv -NoTypeInformation "c:\temp\evilcorpusers.csv" # put real file path here

相关内容