2016-03-08 78 views
0

我試圖導入具有以下字段的CSV文件:Powershell的獲取-ADUser便有和Import-CSV

Ticket  User 
1234657  ABC1234 
2456875  ABC9876 

其中User = SAM帳戶

我有以下代碼:

$File = Import-CSV C:\\file.csv 
$File | ForEach { Get-ADUser -Identity ($_.User) -Properties * | Select-Object SamAccountName, DisplayName, @{Name=’Ticket';Expression={$_.ticket}}} 

輸出類似於如下:

SamAccountName  DisplayName   Ticket 
--------------  -----------   ------ 
ABC1234    John, Doe 
ABC9876    Jane, Doe 

所以有事情發生這裏的門票是不是在輸出表填充...... 我希望它看起來像下面這樣:

SamAccountName  DisplayName   Ticket 
--------------  -----------   ------ 
ABC1234    John, Doe   1234657 
ABC9876    Jane, Doe   2456875 

有誰知道我在做什麼錯我的代碼?

另外,如果我做的,而不是它使個人票號作爲我的頭...... 例的表達式語句只是$ _門票:

SamAccountName : ABC1234 
DisplayName  : John, Doe 
Description  : New Account 
enabled   : True 
1234657   : {} 

SamAccountName : ABC9876 
DisplayName  : Jane, Doe 
Description  : New Account 
enabled   : True 
2456875   : {} 
+0

沒有首都沒有做任何事情......我已經嘗試了所有方式與... –

回答

0

$_Get-ADUser輸出,當你達到Select-Object。 。您需要在foreach循環開始時保存票證。嘗試:

$File = Import-CSV C:\\file.csv 
$File | ForEach { 
    #Save ticket 
    $ticket = $_.ticket 

    Get-ADUser -Identity ($_.User) -Properties * | 
    Select-Object SamAccountName, DisplayName, @{Name='Ticket';Expression={$ticket}} 
} 
+0

這正是我一直在尋找,很簡單,但不是在所有的我的心。感謝! –

0

當您將Get-ADUser的結果傳遞給Select-Object時,這就是$ _中的內容。不是你的原始CSV。這裏是一個解決方案:

$File | ForEach {$t = $_.Ticket; Get-ADUser -Identity ($_.User) -Properties * | Select-Object SamAccountName, DisplayName, @{Name=’Ticket';Expression={$t}}}