首页 > 解决方案 > 对于每个循环过滤器 - 类似电子邮件地址

问题描述

我似乎无法应用过滤器——比如使用基于电子邮件地址域的 for each 循环。

我尝试了在网上找到的其他示例,但最终没有产生任何结果

这是我目前使用的:

$somedata = Import-csv -Path \pathto\data.csv 

Foreach ($domain in $somedata) {
Get-aduser -Filter { emailaddress -Like "*$domain.email_domain"} -Properties emailaddress
}

示例:$domain.email_domain 将是“gmail.com”,我正在寻找所有电子邮件末尾带有“gmail.com”的用户

我希望这会运行,但没有任何反应。如果我这样做一次性,它将起作用:

Get-aduser -Filter { emailaddress -Like "*gmail.com"} -Properties emailaddress

标签: powershell

解决方案


您的过滤器文本应该是"*$($domain.email_domain)"

$somedata = Import-csv -Path \pathto\data.csv 

Foreach ($domain in $somedata) {
Get-aduser -Filter { emailaddress -Like "*$($domain.email_domain)"} -Properties emailaddress
}

推荐阅读