2015-07-22 65 views
0

我试图摆脱Import-CSVPowerShell的顾客头含AD查询

的CSV内容将在这些自定义标题要正确显示包含标题,每行有一个姓姓列,它还包含一个标题为标题“电子邮件”在下面的任何单元格中都没有数据。

$csv = Import-csv C:\temp\tester.csv 

$csv | select Surname,@{Name='Email';Expression={Get-ADUser -Filter 'Surname -like "$_.Surname"' | Select -ExpandProperty UserPrincipalName}} 

当我在硬编码姓氏时正确执行。任何想法?

回答

1

您将过滤器放在单引号中,这可以防止Powershell将$_.Surname替换为值。如果一个字符串包含在单引号中,则将其视为原样,而不会在将字符串作为参数或表达式结果传递之前尝试替换符号(包括转义符号)。与此替换表达式:

Expression={Get-ADUser -Filter "Surname -like `"$_.Surname`"" | Select -ExpandProperty UserPrincipalName}

的反引号用于转义应传递到AD滤波器引号。