我有一个用户姓名列表的CSV文件,列名为Firstname和Surname 。 我试图通过使用Import-CSV导入CSV文件,然后使用Get-ADUser从目录中提取这些用户的用户名。
这是我到目前为止:
$names = Import-CSV C:\path\to.csv ForEach ($Name in $Names) { Get-ADUser -Filter { GivenName -like "$Name.Firstname" } }
这不会返回结果,但也不会有错误。
最终,命令应该比较名字和姓氏,但是因为我不能把它与一个字段一起工作,所以我认为最好不要通过比较两个字段来使其复杂化!
添加包含文件列标题的行作为CSV文件的第一行。 然后在遍历文件时使用这些标题作为属性名称。
所以你的文件应该是这样的:
Firstname,Lastname Joe,Schmoe John,Doe Jane,Doe
那么你的代码应该按原样工作。
此外,filter似乎不喜欢$Name.lastname
。 我不清楚为什么,但是即使是房地产扩张也没有做到这一点。 如果你将它折叠成一个单一的stringvariables,它会工作:
$names = Import-CSV C:\path\to.csv ForEach ($Name in $Names) { $nameFilter = $Name.Firstname Get-ADUser -Filter { GivenName -like $nameFilter } }