识别代理地址中的无效域(比较数组)。

问题描述 投票:0回答:1

我想写一个Powershell脚本,它将浏览所有活动目录用户的所有代理地址,并识别是否有用户与任何域,例如,有效的域是:"contoso.com"、"contoso.com.au "和 "test.com"。"contoso.com", "contoso.com.au" 和 "test.com". 如果一个用户的proxyAddress为 "SMTP:[email protected], smtp:[email protected]",脚本应该会给出一个错误信息,即testuser有一个无效域名的电子邮件地址。

谁能帮帮我?

先谢谢你,Ravi

powershell active-directory
1个回答
0
投票

只是为了发布这个答案,我设法写了解决方案。

下面是工作脚本。

$validDomains = @("contoso.com", "contoso.com.au","test.com")
$users = Get-Content "UserstoCheck.csv"
foreach ($user in $users) {
    $userChecking = get-aduser $user -Properties ProxyAddresses | select samAccountName, ProxyAddresses    
    foreach ($ProxyAddress in $UserChecking.ProxyAddresses) {           
        if (($validDomains -notcontains ($ProxyAddress -split '@')[1]) -and ($ProxyAddress -notlike "X500:*") -and ($ProxyAddress -notlike "X400:*") ) {            
               Write-Host " $user has invalid ProxyAddress as $ProxyAddress"            
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.