Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
SSIS Integration Runtime i Azure Data Factory
Företagsdatabehandlingsapplikationer, såsom Integration Services-paket, behöver ofta bearbeta data olika beroende på rang, befattning eller andra egenskaper hos anställda som lagras i služba Active Directory. služba Active Directory är en Microsoft Windows katalogtjänst som tillhandahåller ett centraliserat lager av metadata, inte bara om användare utan även om andra organisatoriska tillgångar såsom datorer och skrivare. System.DirectoryServices-namnrymden i Microsoft .NET Framework tillhandahåller klasser för att arbeta med služba Active Directory, för att hjälpa dig styra databehandlingsarbetsflödet baserat på den information som lagras.
Note
Om du vill skapa en uppgift som du lättare kan återanvända över flera paket, överväg att använda koden i detta Script-uppgiftsexempel som utgångspunkt för en anpassad uppgift. Mer information finns i Utveckla en anpassad uppgift.
Description
Följande exempel hämtar en anställds namn, titel och telefonnummer från služba Active Directory baserat på variabelns värdeemail, som innehåller den anställdes e-postadress. Precedensbegränsningar i paketet kan använda den hämtade informationen för att avgöra, till exempel, om ett e-postmeddelande med låg prioritet eller en högprioriterad sida ska skickas, baserat på den anställdes jobbtitel.
För att konfigurera detta exempel på Script Task
Skapa
emailde tre strängvariablerna ,name, ochtitle. Ange en giltig företags-e-postadress som variabelns värdeemail.På Script-sidan i Script Task Editor, lägg till variabeln
emaili egenskapen ReadOnlyVariables .Lägg till
nameochtitlevariablerna till egenskapen ReadWriteVariables .I skriptprojektet, lägg till en referens till System.DirectoryServices-namnrymden .
. Använd ett Imports-sats i din kod för att importera namnrymden DirectoryServices .
Note
För att köra detta skript framgångsrikt måste ditt företag använda služba Active Directory på sitt nätverk och lagra den medarbetarinformation som detta exempel använder.
Kod
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;
}
}