Как я могу получить имена пользователей из AD с помощью PowerShell и адресов электронной почты

Я могу извлечь одно имя пользователя из 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

1 ответ

ответ, вероятно, является интервалом, а вызовы AD - это заметка о боли $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но мой ответ здесь приведет вас туда.

Я проверил это на своей машине, и это работает.

Другие вопросы по тегам