2015-09-21 43 views
0

我想通過Powershell獲取AD用戶帳戶,我需要從csv導入名稱並檢索其AD結果。我如何獲取ADUser

列表只存儲有 「顯示名稱」

test.csv

name 
Peter Chan 
John Wu 
Tom Wong 

PS腳本

$list = Import-Csv '.\test.csv' 

foreach ($i in $list) { 
    Get-ADUser -Filter "Name -eq '$i.name'" 
} 

錯誤

Get-ADUser : Error parsing query: 'Name -eq @{name=Peter Chan}.name' Error Message: 'syntax error' at position: '10'. 
At line:2 char:1 
+ Get-ADUser -Filter "Name -eq $i.name" 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : ParserError: (:) [Get-ADUser], ADFilterParsingException 
    + FullyQualifiedErrorId : Error parsing query: 'Name -eq @{name=Peter Chan}.name' Error Message: 'syntax error' at 
    position: '10'.,Microsoft.ActiveDirectory.Management.Commands.GetADUser 

當我運行的Get- ADUser -Filter「名字般的'陳可辛'「,我可以得到我想要的結果。它顯示它是一個數組類型@ {name = Peter Chan} .name,我應該在代碼上更改哪些內容?

回答

2

變量在字符串中擴展而不是屬性表達式。

更改此:

Get-ADUser -Filter "Name -eq '$i.Name'" 

TO

Get-ADUser -Filter "Name -eq '$($i.Name)'" 
+0

它的工作。謝謝 –

相關問題