Mengkueri Active Directory dengan Tugas Skrip
Berlaku untuk:SQL Server SSIS Integration Runtime di Azure Data Factory
Aplikasi pemrosesan data perusahaan, seperti paket Layanan Integrasi, sering kali perlu memproses data secara berbeda berdasarkan peringkat, jabatan pekerjaan, atau karakteristik lain karyawan yang disimpan di Direktori Aktif. Direktori Aktif adalah layanan direktori Microsoft Windows yang menyediakan penyimpanan metadata terpusat, tidak hanya tentang pengguna, tetapi juga tentang aset organisasi lainnya seperti komputer dan printer. Namespace layanan System.DirectoryServices di Microsoft .NET Framework menyediakan kelas untuk bekerja dengan Direktori Aktif, untuk membantu Anda mengarahkan alur kerja pemrosesan data berdasarkan informasi yang disimpannya.
Catatan
Jika Anda ingin membuat tugas yang dapat digunakan kembali dengan lebih mudah di beberapa paket, pertimbangkan untuk menggunakan kode dalam sampel tugas Skrip ini sebagai titik awal untuk tugas kustom. Untuk informasi selengkapnya, lihat Mengembangkan Tugas Kustom.
Deskripsi
Contoh berikut mengambil nama, judul, dan nomor telepon karyawan dari Direktori Aktif berdasarkan nilai email
variabel, yang berisi alamat email karyawan. Batasan prioritas dalam paket dapat menggunakan informasi yang diambil untuk menentukan, misalnya, apakah akan mengirim pesan email berprioritas rendah atau halaman prioritas tinggi, berdasarkan jabatan pekerjaan karyawan.
Untuk mengonfigurasi contoh Tugas Skrip ini
Buat tiga variabel
email
string , ,name
dantitle
. Masukkan alamat email perusahaan yang valid sebagai nilaiemail
variabel.Pada halaman Skrip Editor Tugas Skrip, tambahkan
email
variabel ke properti ReadOnlyVariables.name
Tambahkan variabel dantitle
ke properti ReadWriteVariables.Dalam proyek skrip, tambahkan referensi ke namespace System.DirectoryServices .
. Dalam kode Anda, gunakan pernyataan Impor untuk mengimpor namespace layanan DirectoryServices .
Catatan
Agar skrip ini berhasil dijalankan, perusahaan Anda harus menggunakan Direktori Aktif di jaringannya dan menyimpan informasi karyawan yang digunakan contoh ini.
Kode
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;
}
}
Sumber Daya Eksternal
- Artikel teknis, Memproses Informasi Direktori Aktif di SSIS
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk