我是powershell的新手,必须根据带有名称的列表从AD获取用户。有没有办法使用类似于SQL中的in-statement从AD中进行过滤?(select * from users where name in ('Joe','Bill)?
至于现在,我在foreach循环中获取用户并将他们添加到arraylist中,但我不知道这是否是一个好的做法:
function GetUsers()
{
$dummydata = @('Bill','Joe','Sam')
$users = New-Object System.Collections.ArrayList($null)
foreach($user in $dummydata)
{
$aduser = get-aduser -f {GivenName -eq $user} -Properties * | select *
$users.add($aduser) | Out-Null
}
Return ,$users
}发布于 2013-03-07 19:34:08
您可能希望将此代码放入一个函数中:
$dummydata = @('Bill','Joe','Sam')
$filter =
[scriptblock]::create(($dummydata| foreach {"(GivenName -eq '$_')"}) -join ' -or ')
Get-ADUser -f $filterhttps://stackoverflow.com/questions/15268168
复制相似问题