当我想从用户那里获得一些信息时我会使用它:
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'”
我无法使用该身份,因为此电子邮件不支持此电子邮件
答案 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。它还会消除空白,这过去在这种情况下引起了我的麻烦。如果您还有其他问题或让上述命令无法正常工作,请告诉我。