我尝试在从Import-CSV
CSV在每行中都包含一个标题为Surname with Surname的列,它还包含一个标题为“Email”的标题,下面的任何单元格中都没有数据。
$csv = Import-csv C:\temp\tester.csv
$csv | select Surname,@{Name='Email';Expression={Get-ADUser -Filter 'Surname -like "$_.Surname"' | Select -ExpandProperty UserPrincipalName}}
当我对姓氏进行硬编码时,正确执行。任何想法?
答案 0 :(得分:1)
您将过滤器用单引号括起来,这可以防止Powershell用$_.Surname
替换值。如果字符串用单引号括起来,则在将字符串作为参数或表达式结果传递之前,不会尝试替换符号(包括转义符号)。用以下代码替换表达式:
Expression={Get-ADUser -Filter "Surname -like `"$_.Surname`"" | Select -ExpandProperty UserPrincipalName}
反引号用于转义应传递到AD过滤器的引号。