从列表中检索已过滤用户的列表

时间:2014-01-22 13:29:08

标签: powershell csv filter import

我正在努力解决这个问题。我正在尝试从csv导入办公室编号列表,该列表对应于该办公室的特定用户配置文件中的办公室编号。例如,我试图找到所有列出的办公室的所有承包商和客户服务员工。所以在A栏中应该列出办公室,B栏应列出该办公室的用户在一行中加入;但有些原因我没有输出没有错误。我做错了什么?

import-csv "C:\scripts\offices.csv" | 
    foreach {get-aduser -properties * -filter {office -eq "$($_.office)" -and title -eq "Independent contractor" -or office -eq "$($_.office)" -and title -eq "Sr customer service Rep"} | 
        select @{n='Name';e={$_.Name -join '; '}}} | 
            export-csv "c:\temp\users in each office.csv" -notypeinformation

2 个答案:

答案 0 :(得分:1)

未经测试,但我认为您需要用()包装条件以适当地对它们进行分组。像这样:

-filter {(office -eq "$($_.office)" -and title -eq "Independent contractor") -or (office -eq "$($_.office)" -and title -eq "Sr customer service Rep")}

或者您也可以将其更改为:

-filter {office -eq "$($.office)" -and (title -eq "Independent contractor" -or title -eq "Sr customer service Rep")}

答案 1 :(得分:0)

没有测试,但明显的错误是过滤器中缺少下划线:

-filter {office -eq“$($。office)”

应该是:

-filter {office -eq "$($_.office)"