2016-09-26 91 views
0

我正在嘗試檢查用戶的Active Directory組。我正在使用一個我知道在那裏的測試用戶,而我試圖讓語法正確。在Active Directory組中查找用戶的語法

我在尋找我們的整個領域,和我使用的過濾器是這樣的:

(&(objectCategory=user)(CN=windowslogin)(memberof=CN=/#ITTest,OU=Security,OU=Groups,OU=FIRM,DC=our,DC=place,DC=com)) 

我認爲它窒息組的一部分,因爲如果我刪除整個memberof條款,只是搜索整個AD,它找到了用戶。當我嘗試添加子句來搜索特定組時,它只會找不到它們。

其他的事情我已經試過:

  • 與&列表項,而不#
  • 在只有組OU和組名稱
  • 添加OU對後區議會前的轉義字符查詢

叫喊到目前爲止,沒有運氣的用戶名部分。

我正在使用專門的工具來執行查詢,但我希望它使用的語法足夠接近常規命令行,有人可能會指出我的錯誤。我也是Active Directory的一名新手,所以可能會出現一個以上的錯誤。

我意識到這個問題很模糊,但如果有人能提供任何見解,我會非常感激。

回答

0

您應該查看System.DirectoryServices.AccountManagement(S.DS.AM)命名空間。

基本上,你可以定義域範圍內,並可以輕鬆地查找用戶和/或組AD:

// set up domain context - without further parameters, it defaults to the current 
// domain you're logged in to, and to the whole AD tree 
using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain)) 
{ 
    // find the group 
    GroupPrincipal group = GroupPrincipal.FindByIdentity(ctx, "YourGroupName") as GroupPrincipal; 

    if(group != null) 
    { 
     // get the group members 
     PrincipalSearchResult<Principal> members = group.GetMembers(); 

     // now you just need to find the user you're looking for 
     UserPrincipal user = members.ToList().OfType<UserPrincipal>().FirstOrDefault(u => u.DistinguishedName == "CN=YourUserName"); 

     if (user != null) 
     { 
      // do something with user 
     } 
    } 
} 

新S.DS.AM使得它很容易玩的用戶和組AD !

瞭解更多關於在這裏:​​

+0

謝謝,但我不*想*這可以幫助我。就像我說的,我對AD很新。這聽起來像是你建議我們爲我們的系統添加一些東西,但我無法做出這樣的改變。我也不確定它會與我們使用的集成工具兼容。至少我從來沒有見過與你在這裏做過的事情類似的模板或例子。 –

+0

@VandaPaladino:不,不需要添加任何東西 - 只是**使用它!** –

+0

再次感謝。我正在使用集成工具,而不是自己寫一些東西,所以我不認爲我可以拉入新的名稱空間。我想我一直在試圖讓它以複雜的方式工作。 –

0

看來,你要找下列過濾器:

(memberof:1.2.840.113556.1.4.1941:=CN=\#ITTest,OU=Security,OU=Groups,OU=FIRM,DC=our,DC=place,DC=com) 

(替換反斜槓反斜槓)

請參閱Search Filter Syntax

這將顯示#ITTest組的所有成員和所有嵌套組。但是這種方法有一些缺點, G。在企業環境中可能會導致一些性能問題

如果不需要嵌套組搜索,你仍然可以使用的memberOf:例如像在你的快速解答提供

+0

感謝該鏈接是有幫助的。錯誤原來是在屏幕的不同部分。有一個框用於搜索DN,一個框用於過濾器,至少我的一個版本的過濾器是正確的,但DN框中有CN = Users,DC =我們,DC = place,DC = com,我們不得不拿出CN =用戶。仍然不完全確定爲什麼,但它現在正在工作,至少在添加到組中。 –

相關問題