我正在努力解决这个问题。我正在尝试从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
答案 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)"