导入CSV从电子邮件中获取ADUser并包含空白行,表示无结果

时间:2017-03-16 15:39:23

标签: powershell

所以我遇到了一些麻烦,我有一个带有电子邮件地址的大型CSV文件,我正在尝试搜索AD以获取相关的用户信息。

此CSV中的某些电子邮件没有匹配的AD对象(例如noreply@xy.com)但是我需要将它们保存在此文件中,我还希望相关的AD数据在正确的行上

现在我的脚本获取了我想要的所有信息,但是当没有找到用户信息时,它还会删除空行,有什么想法吗?

Import-Csv C:\temp\myfile.csv | ForEach-Object {Get-Aduser -Filter "EmailAddress -eq '$(
$_.SenderAddress)'" -Properties *} | Select SamAccountName, Name, Company

1 个答案:

答案 0 :(得分:0)

这样的事情怎么样?我添加了您要发送的电子邮件地址,以便将搜索结果作为遗失的占位符。

Import-Csv "C:\temp\myfile.csv" | % { if($ad = Get-ADUser -Filter "EmailAddress -eq '$($_.SenderAddress)'" -Properties EmailAddress, Company){$ad}else{New-Object PSObject -Property @{"EmailAddress" = $($_.Email); "SamAccountname" = $Null; "Company"=$Null}} } | Select EmailAddress, SamAccountName, Name, Company