我有一个PS脚本,它从每天早上从HR获取的CSV文件中提取员工ID,以确保通过添加/更改他们的电子邮件,extensionAttribute 1和ProxyAddresses来确保自动化正常运行。我希望它仅检查主SMTP而不是所有ProxyAddress,但遇到麻烦。
Import-Csv "C:\temp\HRfeed101519.csv" | foreach {Get-ADUser $_.EmpID -Properties * | fL mail, extensionattribute1, Proxyaddresses}
答案 0 :(得分:3)
ProxyAddresses
字段使用PrimarySMTPAddress
标签标识SMTP:
。因此,您可以专门查询该内容并将其作为计算所得的属性输出。
Get-ADUser $_.EmpID -prop ProxyAddresses,Mail,ExtensionAttribute1 |
Select-Object Mail,ExtensionAttribute1,ProxyAddresses,
@{Name='PrimarySMTPAddress';Expression={$_.ProxyAddresses -cmatch '^SMTP:' -creplace 'SMTP:'}}
-cmatch
和-creplace
执行 区分大小写 的正则表达式匹配。
注意:由于存储在ProxyAddresses
中的集合大小,输出的默认表显示可能不会显示所有属性和值。您可以将输出通过管道传递到Format-List
,以查看所有属性, ,但不要将Format-List
输出存储在变量中。