当前位置: 代码网 > it编程>前端脚本>Powershell > Powershell 查找用户的主SMTP地址

Powershell 查找用户的主SMTP地址

2024年05月18日 Powershell 我要评论
今天同事让我生成一个报表,列出用户的主smtp地址后缀是@aus.ddb.com的用户。get-aduser可以直接获取相关信息,不过主smtp是隐藏在proxyaddress这个属性里面的,如果1个

今天同事让我生成一个报表,列出用户的主smtp地址后缀是@aus.ddb.com的用户。
get-aduser可以直接获取相关信息,不过主smtp是隐藏在proxyaddress这个属性里面的,如果1个用户有多个邮件地址,大写的smtp的那个就是主地址。


脚本如下,获取所有用户的信息,然后创建一个空对象,对每一个对象的属性进行处理,把对应的值放入对象, 最后过滤结果输出。

$users = get-aduser -filter {proxyaddresses -like '*'} -searchbase "ou=sydney,dc=omnicom,dc=com,dc=au" -properties proxyaddresses 
$pp=$null
$pp=@{'name'=$null;'primarysmtp'=$null} 
$obj=new-object -typename psobject -property $pp
  
$result=@() 
foreach($user in $users){ 
$primarysmtpaddress = "" 
foreach ($address in $user.proxyaddresses) 
{ 
  if (($address.length -gt 5) -and ($address.substring(0,5) -ceq 'smtp:') ) 
  { 
    $primarysmtpaddress = $address.substring(5) 
    break 
  } 
} 
$objtemp=$obj | select * 
$objtemp.name=$user.name 
$objtemp.primarysmtp=$primarysmtpaddress 
$result+=$objtemp 
} 
$result | where-object{$_.primarysmtp -like "*aus.ddb.com*"} | sort name


本文出自 “麻婆豆腐” 博客

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com