Udostępnij za pośrednictwem


Querying the Active Directory with the Script Task

Przetwarzanie aplikacje, takie jak dane organizacji Integration Services pakiety, często trzeba przetwarzać dane w różny sposób zależności ranga, zadanie tytuł lub inne cechy pracowników, przechowywane w usłudze Active Directory. Usługa Active Directory jest Microsoft Usługi katalogowej systemu Windows, która zapewnia scentralizowane magazynie metadane, nie tylko informacji o użytkownikach, ale o innych zasobów organizacji, takich jak komputery i drukarki. The System.DirectoryServices namespace in the Microsoft .NET Framework provides classes for working with Active Directory, to help you direct data processing workflow based on the information that it stores.

Uwaga

Jeśli chcesz utworzyć zadanie, które łatwo można używać w wielu pakietów, należy rozważyć przy użyciu kodu w tym przykładzie skrypt zadanie jako punkt początkowy dla niestandardowego zadania.Aby uzyskać więcej informacji zobaczOpracowywania niestandardowego zadania.

Description

Poniższy przykład pobiera nazwę danego pracownika, tytuł i numer telefonu z usługi Active Directory w oparciu o wartość email Zmienna, która zawiera adres e-mail pracownika. Pierwszeństwo ograniczeń w pakiecie służy do ustalania pobrane informacje, na przykład, czy wysyłać niskim priorytecie pocztą e-mail wiadomość lub strona wysokim priorytecie, oparte na stanowisko pracownika.

Aby skonfigurować ten przykład zadania skryptu

  1. Tworzenie zmiennych trzy ciąg email, name, a title. Wprowadź adres e-mail firmy jako wartość email Zmienna.

  2. Na Skrypt stronaEdytor zadań skryptu, add the email zmienne do ReadOnlyVariables Właściwość.

  3. Dodawanie name i title zmienne, które mają zostać ReadWriteVariables Właściwość.

  4. W projekcie skryptu Dodaj odwołanie do System.DirectoryServices obszar nazw.

  5. .In your code, use an Imports statement to import the DirectoryServices namespace.

Uwaga

Aby pomyślnie uruchomić ten skrypt, firma musi być w jego sieci za pomocą usługi Active Directory i przechowywania informacji o pracownikach, które w tym przykładzie.

Code

Public Sub Main()

    Dim directory As DirectoryServices.DirectorySearcher
    Dim result As DirectoryServices.SearchResult
    Dim email As String

    email = Dts.Variables("email").Value.ToString

    Try
        directory = New _
            DirectoryServices.DirectorySearcher("(mail=" & email & ")")
        result = directory.FindOne
        Dts.Variables("name").Value = _
            result.Properties("displayname").ToString
        Dts.Variables("title").Value = _
            result.Properties("title").ToString
        Dts.TaskResult = ScriptResults.Success
    Catch ex As Exception
        Dts.Events.FireError(0, _
            "Script Task Example", _
            ex.Message & ControlChars.CrLf & ex.StackTrace, _
            String.Empty, 0)
        Dts.TaskResult = ScriptResults.Failure
    End Try

End Sub
        public void Main()
        {
            //
            DirectorySearcher directory;
            SearchResult result;
            string email;

            email = (string)Dts.Variables["email"].Value;

            try
            {
                directory = new DirectorySearcher("(mail=" + email + ")");
                result = directory.FindOne();
                Dts.Variables["name"].Value = result.Properties["displayname"].ToString();
                Dts.Variables["title"].Value = result.Properties["title"].ToString();
                Dts.TaskResult = (int)ScriptResults.Success;
            }
            catch (Exception ex)
            {
                Dts.Events.FireError(0, "Script Task Example", ex.Message + "\n" + ex.StackTrace, String.Empty, 0);
                Dts.TaskResult = (int)ScriptResults.Failure;
            }

        }
Integration Services icon (small) Konfiguracja w aktualizacji z usług integracja Services pobytu

Najnowsze pliki do pobrania, artykuły, próbki, i pliki wideo firmy Microsoft, jak również wybranego rozwiązania od Wspólnoty, odwiedź witrynę Integration Services strona w witrynie MSDN lub TechNet:

Automatycznego powiadomienie tych aktualizacji należy subskrybować źródła danych RSS, które jest dostępne strona.