0

我可以通过搜索电子邮件地址从 AD 中提取单个用户名,但我想从 CSV 中提取多个电子邮件地址并将它们记录到输出文件中。我知道我需要在这里扩大搜索范围: mail -eq 'john.smith@example.com'使用诸如-like或变量之类的东西,但我很难找到解决方案。

代码:

$InputFile = 'C:\emailaddresses.csv'
$Outputfile = 'C:\usernames.csv'

Import-CSV -Path $InputFile 
      | ForEach-Object { Get-ADUser -Filter { mail -eq 'john.smith@example.com' } | select SamAccountName } 
      | Export-Csv $OutputFile -NoTypeInformation
4

1 回答 1

0

答案可能是间隔和广告呼叫是一个痛苦的注意事项$Email

$InputFile = 'C:\emailaddresses.csv'
#assumption that header for the file above is email
$Outputfile = 'C:\usernames.csv'

Import-CSV -Path $InputFile | ForEach-Object { 
    $email = $null
    $email = $_.email
    Get-ADUser -Filter { mail -eq $email } | Select-Object SamAccountName } | Export-Csv $OutputFile -NoTypeInformation

我假设标题是第一个 csv 中的电子邮件,我不确定你是否想要-eq,或者-like但我在这里的回答会让你到达那里。

我在我的机器上测试了它,它可以工作。

于 2021-12-10T20:31:02.820 回答