2011-12-15 7 views
1

与えられたOUの中に与えられたGuidのコンピュータが存在するかどうかを調べる必要があります。"Query By Example"でGuidを検索することはできますか?

これを行うには、Guidに一致するコンピュータを検索するQuery By Exampleと書いてください。たとえば:ComputerPrincipal.Guidフィールドは読み取り専用であるため、

PrincipalContext context = new PrincipalContext(ContextType.Domain, domain, container); 
ComputerPrincipal computer = new ComputerPrincipal(context); 

computer.Guid = guidToMatch; 

PrincipalSearcher searcher = new PrincipalSearcher(computer); 
// Get the computer if it exists... 

はもちろん、これは、動作しません。さらに、ComputerPrincipal.AdvancedSearchFilterにはGuidフィールドが含まれていません。

これが可能ですか、とにかく(もっと良い選択肢のように)これをやりたくない理由がありますか?

答えて

2

がこれを処理する方法のように見えるFindByIdentity()を使用することです:

PrincipalContext context = new PrincipalContext(ContextType.Domain, domain, container); 
ComputerPrincipal computer = ComputerPrincipal.FindByIdentity(context, guidToMatch); 
0

これを処理する別の方法は、フォームのベース検索を行うことです。これにより、基本的にobjectGUIDでオブジェクトを検索し、コンピュータやその他のタイプのオブジェクトであれば、そのオブジェクトを取得することができます。オブジェクトを調べて、それがあなたが気にしていたものかどうかを確認することができます...

関連する問題