get-aduser使用emailaddress

时间:2017-12-19 21:47:59

标签: filter email-address

当我想从用户那里获得一些信息时我会使用它:

Get-ADUser -Filter {EmailAddress -eq 'jperez@dominio.com'}

但是当我想检查来自大量用户的信息时,我试试这个:

$batch| foreach {Get-ADUser -Filter {emailaddress -eq $_.email}} 

电子邮件是CSV文件中变量的名称 但是我收到了这个错误:

  

“Get-ADUser:Property:'email'在类型对象中找不到:'System.Management.Automation.PSCustomObject'”

我无法使用该身份,因为此电子邮件不支持此电子邮件

2 个答案:

答案 0 :(得分:1)

看起来您没有为要返回的搜索结果设置属性。即:

Import-csv -Path \\tsclient\c\temp\test.csv -delimiter ";" | ForEach {
Get-ADUser -Filter "EmailAddress -eq '$($_.email)'" -Properties EmailAddress 
}

答案 1 :(得分:0)

您以哪种格式获取此信息?

我个人而言,我想制作一个临时文件,然后在for循环中使用变量进行查询。例如,如果我有一个文件,其中包含C:\Users\MyUser\Documents\emailList.txt中的电子邮件地址列表,我将执行以下操作:

$my_list = Get-Content C:\Users\MyUser\Documents\emailList.txt
foreach ($x in $my_list){
    $x = $x replace '\s',''
    Get-ADUser -Filter {EmailAddress -eq $x}
}

这将通过电子邮件地址为整个列表拉一个Get-ADuser。它还会消除空白,这过去在这种情况下引起了我的麻烦。如果您还有其他问题或让上述命令无法正常工作,请告诉我。