Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure Data Factory'de SSIS Tümleştirme Çalışma Zamanı
Entegrasyon Hizmetleri paketleri gibi kurumsal veri işleme uygulamaları, genellikle Active Directory'de depolanan çalışanların rütbesi, iş unvanı veya diğer özelliklerine göre verileri farklı şekilde işlemek zorundadır. Active Directory, sadece kullanıcılar hakkında değil, aynı zamanda bilgisayarlar ve yazıcılar gibi diğer organizasyon varlıkları hakkında da merkezi bir metaveri deposu sağlayan Microsoft Windows bir dizin hizmetidir. Microsoft .NET Framework'teki System.DirectoryServices isim alanı, depoladığı bilgilere göre veri işleme iş akışını yönlendirmenize yardımcı olmak için Active Directory ile çalışmak için sınıflar sunar.
Note
Birden fazla paket arasında daha kolay yeniden kullanabileceğiniz bir görev oluşturmak istiyorsanız, bu Script görev örneğindeki kodu özel bir görev için başlangıç noktası olarak kullanmayı düşünün. Daha fazla bilgi için bkz. Özel Görev geliştirme.
Description
Aşağıdaki örnek, değişkenin değerine göre Active Directoryemail'den bir çalışanın adı, unvanı ve telefon numarasını alır; bu değişken çalışanın e-posta adresini içerir. Paketteki öncelik kısıtlamaları, alınan bilgiyi kullanarak örneğin çalışanın iş unvanına göre düşük öncelikli bir e-posta mesajı mı yoksa yüksek öncelikli bir sayfa mı gönderileceğini belirleyebilir.
Bu Script Görevi örneğini yapılandırmak için
Üç dizi değişkeni oluşturun
name,email, vetitle. Değişkeninemaildeğeri olarak geçerli bir kurumsal e-posta adresi girin.Script Görev Düzenleyicisi'ninScript sayfasında, değişkeni
emailReadOnlyVariables özelliğine ekleyin.ReadWriteVariables özelliğine
namevetitledeğişkenlerini ekleyin.Script projesinde, System.DirectoryServices isim alanına bir referans ekleyin.
. Kodunuzda, DirectoryServices isim alanını içe aktarmak için Imports ifadesi kullanın.
Note
Bu betikleri başarılı çalıştırmak için, şirketinizin ağında Active Directory kullanması ve bu örnekte kullanılan çalışan bilgilerini depolaması gerekir.
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;
}
}