Integration Services 패키지와 같은 엔터프라이즈 데이터 처리 애플리케이션은 Active Directory에 저장된 직원의 순위, 직위 또는 기타 특성에 따라 데이터를 다르게 처리해야 하는 경우가 많습니다. Active Directory는 사용자뿐만 아니라 컴퓨터 및 프린터와 같은 다른 조직 자산에 대해서도 중앙 집중식 메타데이터 저장소를 제공하는 Microsoft Windows 디렉터리 서비스입니다. Microsoft .NET Framework의 네임스페이 System.DirectoryServices 스는 Active Directory로 작업하기 위한 클래스를 제공하여 저장하는 정보를 기반으로 데이터 처리 워크플로를 직접 처리할 수 있도록 합니다.
참고 항목
여러 패키지에서 더 쉽게 다시 사용할 수 있는 작업을 만들려면 이 스크립트 태스크 샘플의 코드를 사용자 지정 작업의 시작점으로 사용하는 것이 좋습니다. 자세한 내용은 사용자 지정 작업 개발을 참조하세요.
설명
다음 예제에서는 직원의 전자 메일 주소를 포함하는 변수 값을 email 기반으로 Active Directory에서 직원의 이름, 제목 및 전화 번호를 검색합니다. 패키지의 선행 제약 조건은 검색된 정보를 사용하여 직원의 직함을 기준으로 우선 순위가 낮은 전자 메일 메시지를 보낼지 또는 우선 순위가 높은 페이지를 보낼지 여부를 결정할 수 있습니다.
이 스크립트 태스크 예제를 구성하려면
3개의 문자열 변수 및 .
emailnametitleemail변수 값으로 올바른 회사 전자 메일 주소를 입력합니다.스크립트 태스크 편집기의 스크립트 페이지에서 속성에
email변수를 추가합니다ReadOnlyVariables.속성에
name변수 및title변수를ReadWriteVariables추가합니다.스크립트 프로젝트에서 네임스페이스에 대한 참조를
System.DirectoryServices추가합니다.. 코드에서 문을 사용하여
Imports네임스페이스를DirectoryServices가져옵니다.
참고 항목
이 스크립트를 성공적으로 실행하려면 회사에서 네트워크에서 Active Directory를 사용하고 이 예제에서 사용하는 직원 정보를 저장해야 합니다.
코드
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;
}
}
외부 리소스
- social.technet.microsoft.com SSIS의 Active Directory 정보 처리 기술 문서
Integration Services를 사용하여 최신 상태 유지
Microsoft의 최신 다운로드, 문서, 샘플 및 비디오와 커뮤니티에서 선택한 솔루션은 MSDN의 Integration Services 페이지를 방문하세요.
MSDN의 Integration Services 페이지 방문
이러한 업데이트에 대한 자동 알림을 보려면 페이지에서 사용할 수 있는 RSS 피드를 구독합니다.