脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - PowerShell - Powershell 查找用户的主SMTP地址

Powershell 查找用户的主SMTP地址

2020-07-07 11:00麻婆豆腐 PowerShell

这篇文章主要介绍了Powershell 查找用户的主SMTP地址,需要的朋友可以参考下

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


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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$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

Powershell 查找用户的主SMTP地址

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

延伸 · 阅读

精彩推荐