2016-10-25 19 views
2

我有一個輸入文件(input.txt)與以下數據。以下數據以聯繫人的身份保存在我的域中。我的任務是在我的域中爲這些聯繫人標識相應的郵件ID。如何將輸入文件中的值添加爲PowerShell導出的輸出文件中的列?

[email protected] 
[email protected] 
[email protected] 

下面是我寫的用於完成任務的powershell腳本。這些聯繫人的目標地址將是我的域名電子郵件地址。但是這裏的問題是,在導出時我需要將輸入數據附加到我的結果中。

​​

下面是電流輸出(output.csv)

Mail; 
[email protected]; 
[email protected]; 
[email protected]; 

但預期產量,

Mail;InputId; 
[email protected];[email protected]; 
[email protected];[email protected]; 
[email protected];[email protected]; 

是否有可能獲得預期的輸出。如果是這樣,請協助。非常感謝您的支持。

回答

0

未經檢驗的,但這樣的事情可以工作:

Write-Host "Reading Input File.. " 
$users = foreach ($contact in (Get-Content 'Input.txt')) 
{ 
    $DomainId = Get-ADObject -Filter { 
         (mail -eq $contact) -and (ObjectClass -eq "Contact") 
        } -Properties * | Select-Object -ExpandProperty targetAddress 

    $DomainId = $DomainId.Remove(0,5) 
    $Mail = (Get-AdUser -Filter {Mail -eq $DomainId} -Properties Mail).Mail 

    [PSCustomObject]@{ 
     InputId = $DomainId 
     Mail = $Mail 
    } 
} 

Write-Host "Exporting to CSV.." 
$users | Export-CSV -Path 'output.csv' -NoTypeInformation 

你想PSCustomObjects進入出口爲CSV,每列一個屬性。而且他們很容易通過從哈希表中轉換來構建,而不是使用大量的添加成員。

相關問題