語言

SearchResult 類別

定義

SearchResult 類別封裝了 Active Directory 網域服務 階層中的一個節點,該節點在搜尋 DirectorySearcher 時會回傳。

public ref class SearchResult
public class SearchResult
type SearchResult = class
Public Class SearchResult
繼承
SearchResult

範例

以下範例 DirectoryEntry 建立一個新物件,並使用 FindOne 該方法啟動搜尋。 執行搜尋後,範例會使用此 GetDirectoryEntry 方法取得搜尋結果中識別的即時目錄條目。

Imports System
Imports System.DirectoryServices
Imports Microsoft.VisualBasic

Public Class MySample
   Public Shared Sub Main()
      Dim myLDAPPath As String = ""
      Try
         ' Create a 'DirectoryEntry' object to search.
         Console.WriteLine("Enter the path ( Ex : 'LDAP://MyServer')")
         myLDAPPath = Console.ReadLine()
         Dim mySearchRoot As New DirectoryEntry(myLDAPPath)

         Dim myDirectorySearcher As New DirectorySearcher(mySearchRoot)

         ' Get the first entry of the search.
         Dim mySearchResult As SearchResult = myDirectorySearcher.FindOne()
         If Not (mySearchResult Is Nothing) Then
            ' Get the 'DirectoryEntry' that corresponds to 'mySearchResult'.
            Dim myDirectoryEntry As DirectoryEntry = mySearchResult.GetDirectoryEntry()
            Console.WriteLine(ControlChars.Newline + "The name of the 'myDirectoryEntry' " + _
                        "directory entry that corresponds to the " + _
                        "'mySearchResult' search result is : {0}" + _
                        ControlChars.Newline, myDirectoryEntry.Name)
            Dim mySearchResultPath As String = mySearchResult.Path
            Console.WriteLine("The path for the 'mySearchResult' search result is : {0}" + _
                              ControlChars.Newline, mySearchResultPath)
            ' Get the properties of the 'mySearchResult'.
            Dim myResultPropColl As ResultPropertyCollection
            myResultPropColl = mySearchResult.Properties
            Console.WriteLine("The properties of the 'mySearchResult' are :")
            Dim myKey As String
            For Each myKey In  myResultPropColl.PropertyNames
               Dim tab1 As String = "    "
               Console.WriteLine(myKey + " = ")
               Dim myCollection As Object
               For Each myCollection In  myResultPropColl(myKey)
                  Console.WriteLine(tab1 + myCollection)
               Next myCollection
            Next myKey
            myDirectoryEntry.Dispose()
            mySearchRoot.Dispose()
         Else
            Console.WriteLine("The '" + myLDAPPath + "' path not found.")
         End If
      Catch e As Exception
         Console.WriteLine("The '" + myLDAPPath + "' path not found.")
         Console.WriteLine("Exception : " & e.Message)
      End Try
   End Sub 'Main
End Class 'MySample
using System;
using System.DirectoryServices;

public class MySample
{
    public static void Main()
    {
        string myLDAPPath = "";
        try
        {
            // Create a 'DirectoryEntry' object to search.
            Console.WriteLine("Enter the path ( Ex : 'LDAP://MyServer')");
            myLDAPPath = Console.ReadLine();

            DirectoryEntry mySearchRoot = new DirectoryEntry(myLDAPPath);
            DirectorySearcher myDirectorySearcher =
                    new DirectorySearcher(mySearchRoot);

            // Get the first entry of the search.
            SearchResult mySearchResult = myDirectorySearcher.FindOne();

            if ( mySearchResult != null )
            {
                // Get the 'DirectoryEntry' that corresponds to 'mySearchResult'.
                DirectoryEntry myDirectoryEntry =
                mySearchResult.GetDirectoryEntry();
                Console.WriteLine("\nThe name of the 'myDirectoryEntry' " +
                        "directory entry that corresponds to the " +
                        "'mySearchResult' search result is : {0}\n",
                        myDirectoryEntry.Name);
                string mySearchResultPath = mySearchResult.Path;
                Console.WriteLine("The path for the 'mySearchResult' search "
                        + "result is : {0}\n", mySearchResultPath);

                // Get the properties of the 'mySearchResult'.
                ResultPropertyCollection myResultPropColl;
                myResultPropColl = mySearchResult.Properties;
                Console.WriteLine("The properties of the " +
                        "'mySearchResult' are :");

                foreach( string myKey in myResultPropColl.PropertyNames)
                {
                    string tab = "    ";
                    Console.WriteLine(myKey + " = ");
                    foreach( Object myCollection in myResultPropColl[myKey])
                    {
                        Console.WriteLine(tab + myCollection);
                    }
                }
                mySearchRoot.Dispose();
                myDirectoryEntry.Dispose();
            }
            else
            {
                Console.WriteLine("The '" + myLDAPPath + "' path not found.");
            }
        }
        catch(Exception e)
        {
            Console.WriteLine("The '" + myLDAPPath + "' path not found.");
            Console.WriteLine("Exception : " + e.Message);
        }
    }

}

備註

類別的 SearchResult 實例與類別的實例 DirectoryEntry 非常相似。 關鍵差異在於,DirectoryEntry 類別每次存取新物件時都會從 Active Directory 網域服務 階層中取得資訊,而 SearchResult 的資料已在 SearchResultCollection 中取得,該資料是透過 DirectorySearcher 類別執行的查詢回傳而來。 只有透過你查詢中集合指定的 DirectorySearcher.PropertiesToLoad 屬性才會從 SearchResult中取得。

屬性

名稱 Description
Path

找到這 SearchResult條路徑。

Properties

取得 ResultPropertyCollection 該物件的一組屬性。

方法

名稱 Description
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetDirectoryEntry()

從Active Directory 網域服務階層中取得對應於DirectoryEntry的SearchResult。

GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type。

(繼承來源 Object)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)

適用於