我有一个脚本,可以搜索公司和代理地址属性中的值。
Get-ADUser -Filter * -SearchBase 'OU=Stu,OU=LOWA,OU=IDLOWA,DC=ad,DC=ju,DC=com' -Properties company,proxyaddresses | select company, @{L='ProxyAddress'; E={$_.proxyaddresses -join"; "}}
Company 有两个字符,但 Proxy Addresses 是多值的,例如:
smtp:[email protected],SMTP:[email protected],smtp:[email protected]
或者
smtp:[email protected],SMTP:[email protected]
或者
SMTP:[email protected]
我需要将主 SMTP 地址导出/保存到变量或 csv 文件,这意味着SMTP:xxx@xxx
谢谢
答案1
此代码将获取给定 searchbase 参数的所有主要 SMTP 地址,并将输出通过管道传输到 TXT 文件。可能需要进行一些调整才能获得更多信息,但我认为这足以让您开始:
$users = Get-ADUser -Filter * -SearchBase 'OU=Stu,OU=LOWA,OU=IDLOWA,DC=ad,DC=ju,DC=com' -Properties proxyaddresses
$primarySMTPAddress = @()
foreach ($address in $users.proxyAddresses)
{
if (($address.Length -gt 5) -and ($address.SubString(0,5) -ceq 'SMTP:'))
{
$primarySMTPAddress += $address.SubString(5)
}
}
$primarySMTPAddress | out-file -Pathg C:\tmp\PrimarySMTPAdresses.txt
将输出文件路径更改为有效位置。