2015-08-14 19 views
0

命令行在我使用它時沒有任何返回。
我已經將Name更改爲DisplayNameCN但這不起作用。Import-CSV和Get-ADuser不返回

Import-Csv "D:\Temp\userExcelRights.txt" | 
    %{ Get-ADUser -Filter {Name -eq "*$_*"} } | 
    Select Name,Enabled,SamAccountName,DistinguishedName 

CSV文件包含用戶的全名。

回答

0

有了這個命令它的工作:

[email protected](Import-Csv "D:\Temp\userExcelRights.txt").Name 
$data | %{ Get-ADUser -Filter "name -like '*$_*'" } | 
    Select Name,Enabled,SamAccountName,DistinguishedName 

感謝Ansgar Wiechers。

1

-eq運算符不支持通配符匹配,因此您需要使用-like運算符,並且必須從Import-Csv處理的對象中選擇一個屬性。另外,請避免Get-ADUser過濾器的scriptblock語法。更換

{Name -eq "*$_*"} 

"Name -like '*$($_.Name)*'" 

如果子表達式不爲你工作,你可能需要饋入循環之前擴大Name屬性:

Import-Csv 'D:\Temp\userExcelRights.txt' | 
    select -Expand Name | 
    %{ Get-ADUser -Filter "Name -eq '*$_*'" } | 
    ... 
+0

感謝您的回覆,但它不起作用錯誤是'Get-ADUser:錯誤解析查詢:'名字般的'*@{Bellon'.I've試過這個:''Name-like'* $($ _.Name)*'「',錯誤爲'Get-ADUser:搜索過濾器無法識別' – loi219

+0

@ loi219查看更新後的答案。 –