Impersonation by Powershell
Exchange를 이용한 관련 프로그램을 개발하기 위해 EWS를 이용하게 될때 Impersonation 기능을 이용해 일반 사용자 계정으로 가장을 하여 사서함에 접근하도록 개발해야 한다. 가장을 하기 위해서는 해당 계정이 가장(Impersonation)을 할 수 있는 권한을 할당해 줘야 에러가 발생하지 않고 가장을 할 수 있다. 이 권한이 할당되어 있지 않으면 'ImpersonateionId = new ...' 할 때 에러가 발생한다. 이럴 때 아래와 같이 익스체인지 파워쉘에서 아래와 같이 입력해 가장 권한을 할당해 주면 에러 없이 개인 사서함에 접근해 정보에 접근할 수 있다.
New-ManagementRoleAssignment –Name:impersonationAssignmentName –Role:ApplicationImpersonation –User:serviceAccount |
[표1] 가장 권한 할당 예제
위와 같이 설정을 하면 아래와 같은 코드에서 에러없이 가장을 할 수 있을 것이다.
_service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, address);
[코드1] C# 코드에서 가장하기
위 코드와 같이 가장이 완성이 되면 개인 계정에 접근하여 읽기 및 메일 발송, 일정, 그룹등 아이템 생성 및 수정을 할 수 있다.
'Sharepoint, Lync, Exchange' 카테고리의 다른 글
[Exchange] 동적 사용자의 Push Notification 등록 #1 (0) | 2013.05.03 |
---|---|
[WMI] ManagementEventWatcher Process monitoring 프로세스 모니터링 ( Event 발생 ) (1) | 2013.05.03 |
[Exchange] 모듈별 직접 링크 주소 - 메일, 할일, 주소록, 피플 ( modurl, layout ) (0) | 2013.04.11 |
[Exchange] OWA 로그인 처리 (1) | 2013.04.11 |
[Exchange] Exchange의 Item에 대한 키값 - ItemId, EntryId (0) | 2013.04.11 |