2016-06-08 16 views
1

我有一個包含兩列的CSV文件; Identitiy和User。 User列包含UserPrincipalNames,而Identity列包含一個名稱。我想要做的是取得Userprincipalnames並從他們那裏獲取Displayname,這是我能夠做到的。將CSV數據按原樣放入新的CSV

我不知道如何獲得每一行的身份(已經在我導入的csv中)與新找到的Displayname一起顯示。我沒有使用Identity列來獲取任何內容,我只是想再次顯示這些值。

我正在使用的代碼是這樣的:

$accounts = ipcsv 'D:\code-folder\small-results.csv' 

$accounts | % { 
$Identity = $_.Identity 
$User = $_.User 
Get-MsolUser -UserPrincipalName $User | select Displayname 
} 

這得到displayname,但僅此而已。我嘗試在選擇中放置$Identity變量,但那不起作用。我覺得必須有一個簡單的解決方案。

例如,在CSV文件中的一行看起來像this

但我想輸出的樣子this,但輸出我得到葉出身份,我不知道如何要添加它。

+0

你可以提供一個例子記錄和所需的輸出? –

+0

添加示例和所需的輸出。 –

回答

2

你可以用Select-Object自定義列(select):

$accounts = ipcsv 'D:\code-folder\small-results.csv' 

$accounts | % { 
    $Identity = $_.Identity 
    $User = $_.User 
    Get-MsolUser -UserPrincipalName $User | select @{n='Identity';e={$Identity}},Displayname 
} 
+0

我試過這個,但是它說'身份'一詞在n =身份部分中沒有被識別。 –

+0

@LukeK引用它(請參閱編輯) – briantist

2

我會給每一行和管道的結果產生一個新PSCustomObjectExport-Csv

$accounts = ipcsv 'D:\code-folder\small-results.csv' 

$accounts | % { 
    [PSCustomObject] @{ 
     Identity = $_.Identity 
     User = Get-MsolUser -UserPrincipalName $_.User | select Displayname 
    } 
} | Export-Csv -Path 'D:\code-folder\small-results.csv' -NoTypeInformation