Powershell 查找用户的主SMTP地址
2015-10-10 16:53
1016 查看
今天同事让我生成一个报表,列出用户的主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
本文出自 “麻婆豆腐” 博客
您可能感兴趣的文章:
相关文章推荐
- PowerShell打开或关闭光驱
- PowerShell移动目录中指定文件的方法(非全部文件)
- Powershell小技巧之创建短网址
- PowerShell实现查询打开某个文件的默认应用程序
- PowerShell设置文件只读、隐藏属性的方法
- Windows Powershell扩展类型系统
- PowerShell脚本源码输出到文件的最佳写法
- Windows Powershell 通过函数扩展别名
- PowerShell脚本实现创建桌面快捷方式的方法
- PowerShell重启服务命令Restart-Service详细介绍
- PowerShell中执行Javascript的方法示例
- 探索PowerShell(十三) WMI对象介绍
- Powershell小技巧之使用Copy-Item添加程序到开机启动
- Windows Powershell创建对象
- Windows Powershell 访问数组
- Powershell小技巧之使用WS-Man来调用PowerShell命令
- PowerShell在控制台输出特殊符号的方法
- Windows Powershell使用哈希表
- PowerShell实现的文件同步脚本分享
- PowerShell中使用通配符匹配文件路径的例子