Как я могу получить имена пользователей из 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
но мой ответ здесь приведет вас туда.
Я проверил это на своей машине, и это работает.