2017-05-30 60 views
0

我试图让具有本地管理员权限到他们的工作站的所有用户,这是物业的memberOf下指定的memberOf多个组,我还需要通过另一组的memberOf属性下过滤。我已经建立了类似的搜索广告的用户是

Get-ADUser -Filter * -Properties DisplayName, EmailAddress, CN, StreetAddress, memberof | 
Where-Object 
{$_.memberof.contains('RemovalStorage-R') -and 
$_.memberof.contains('EU-IRL-Dublin') 
} | 
Select DisplayName, EmailAddress, CN | Sort-Object Displayname 

现在我需要第一组更改为类似

Get-ADUser -Filter * -Properties DisplayName, EmailAddress, CN, StreetAddress, memberof | 
Where-Object 
{$_.memberof.contains('EU-EIE*-LocalAdmins') -and 
$_.memberof.contains('EU-IRL-Dublin') 
} | 
Select DisplayName, EmailAddress, CN | Sort-Object Displayname 

的EIE *的东西是工作站名称的开头因此需要能够搜索通配符得到了名的其余部分: EIE123, EIE124, EIE125, EIE126

先感谢您的任何回应。 Kind rgds, Dan

+0

使用双引号,并改变它喜欢'$ _。的memberOf样( “EU-EIE * -LocalAdmins”)' – Nick

回答

0

单引号表示字面意义上的字符串,并且包含类似于-eq,它必须完全匹配,才能提供True或False答案。所以现在你要说的是寻找一些完全属于EU-EIE * -LocalAdmins的东西。如果您将报价换成双引号并更改.Contains to -like,则会有更好的运气。

Get-ADUser -Filter * -Properties DisplayName, EmailAddress, CN, StreetAddress, memberof | 
Where-Object 
{$_.memberof -like ("EU-EIE*-LocalAdmins") -and 
$_.memberof.contains('EU-IRL-Dublin') 
} | 
Select DisplayName, EmailAddress, CN | Sort-Object Displayname 

刚一说明,您的环境可能会比我的不同,但运行的线路提供了其成员的DN,这意味着你得到了OU = X DC = X,所以你可能希望同时使用像,并在每一端放置一个通配符。

-like "*Word*One*" 
+0

尼克,非常感谢你,这完美地工作。 – DPerdy

相关问题