2017-05-30 57 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

相關問題