Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
SSIS Integration Runtime v rámci Azure Data Factory
Podnikové aplikace pro zpracování dat, jako jsou balíčky integračních služeb, často potřebují zpracovávat data odlišně na základě hodnosti, pracovního titulu nebo jiných charakteristik zaměstnanců uložených v služba Active Directory. služba Active Directory je Microsoft Windows adresářová služba, která poskytuje centralizované úložiště metadat, nejen o uživatelích, ale také o dalších organizačních aktivech, jako jsou počítače a tiskárny. Jmenný prostor System.DirectoryServices v Microsoft .NET Frameworku poskytuje třídy pro práci s služba Active Directory, které vám pomohou řídit workflow zpracování dat na základě uložených informací.
Note
Pokud chcete vytvořit úkol, který lze snadněji znovu použít napříč více balíčky, zvažte použití kódu v tomto ukázkovém skriptu úlohy jako výchozího bodu pro vlastní úkol. Další informace naleznete v tématu Vývoj vlastníhoúloh .
Description
Následující příklad získává jméno, titul a telefonní číslo zaměstnance z služba Active Directory na základě hodnoty email proměnné, která obsahuje e-mailovou adresu zaměstnance. Omezení priority v balíčku mohou využít získané informace například k určení, zda poslat e-mail s nízkou prioritou nebo stránku s vysokou prioritou, na základě pracovního titulu zaměstnance.
Pro konfiguraci tohoto příkladu Script Task
Vytvořte tři řetězcové proměnné
email,name, a .titleZadejte platnou firemní e-mailovou adresu jako hodnotuemailproměnné.Na stránce Script v Editoru úloh skriptů přidejte proměnnou
emaildo vlastnosti ReadOnlyVariables .Přidejte proměnné
nameatitledo vlastnosti ReadWriteVariables .V projektu skriptů přidejte odkaz na jmenný prostor System.DirectoryServices .
. Ve svém kódu použijte příkaz Imports k importu jmenného prostoru DirectoryServices .
Note
Aby byl tento skript úspěšně spuštěn, musí vaše firma používat služba Active Directory ve své síti a ukládat informace o zaměstnancích, které tento příklad používá.
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;
}
}