我需要基于一个不是未索引字段的字段来查询AD。我们有一个名为EmployeeID
的字段。当我试图对此进行过滤时,我得到了一个无效的参数。我可以查询任何索引字段,但我没有这些字段。
Import-Module ActiveDirectory
$users = ForEach ($user in $(Get-Content "C:Usersleaker.AUTHDocumentsMADO - GeneralToolsED Dump toolED Dump toolbadgem.txt"))
{
Get-AdUser $user -filter "EmployeeID -eq '$_.employeeID)'" -Properties SamAccountNAme,displayName,employeeID,mail
}
$users |
Select-Object SamAccountNAme,displayName,employeeID,mail |
Export-CSV -Path "C:Usersleaker.AUTHDocumentsMADO - GeneralToolsED Dump toolED Dump tooloutput.csv" -NoTypeInformation
如有任何帮助,我们将不胜感激。
$user
将绑定到Identity
参数-Filter
和Identity
不存在于同一参数集中。
删除-filter "EmployeeID -eq '$_.employeeID)'"
我假设您的CSV有一个名为"employeeID"的字段?如果是,则这将是在ForEach循环中创建的$name
变量的属性。
Get-ADUser
不需要$user参数,而且过滤器语法中似乎有奇怪的括号和引号
...
Get-ADUser -Filter {EmployeeID -eq $name.employeeId} -Properties samAccountNAme,displayName,employeeID,mail
...