在CSV文件中获取AD用户名和姓氏

我有一个用户姓名列表的CSV文件,列名为FirstnameSurname 。 我试图通过使用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 } }