我想要使用 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