如何获取ADUser

时间:2015-09-21 03:58:12

标签: powershell active-directory

我想通过Powershell获取AD用户帐户,我需要从csv导入名称并检索他们的AD结果。

该列表仅与"显示名称"

一起存储

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-like' Peter Chan'" ,我可以得到我想要的结果。它显示它是一个数组类型@ {name = Peter Chan} .name,我需要在代码上更改什么?

1 个答案:

答案 0 :(得分:2)

变量在字符串中扩展而不是属性表达式。

改变这个:

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

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