Exchange 일정 업데이트 도구를 사용 하 여 일광 절약 시간을 해결 하는 방법

이 문서는 Microsoft 기계 번역 소프트웨어를 이용하여 번역되었으며 Microsoft Community에 의한 Community Translation Framework(CTF) 기술 혹은 사람이 번역한 내용에 의하여 사후 편집될 수 있습니다. Microsoft는 Knowledge Base에 있는 모든 문서에 다양한 언어로 접근할 수 있도록 하기 위하여 기계 번역, 사람에 의한 번역 및 커뮤니티가 편집한 내용을 모두 제공합니다. 번역된 문서는 어휘, 구문 및/혹은 문법에 오류가 있을 수 있습니다. Microsoft는 번역 오류로 인한 부정확성, 오류 및/또는 손해와 이를 고객이 사용하는 데에 대하여 책임을 지지 않습니다.

이 문서의 영문 버전 보기:941018
소개
일광 절약 시간제 시스템 일출과 일몰 이후 시간에 발생할 수 있도록 시계를 미리 설정입니다. 저녁에 더 일광 절약 됩니다. 많은 국가 일광 절약 시간제 관찰합니다. 일광 절약 시간이 시작 되 고 끝날 때 이러한 국가 대부분이 자체 규칙 및 규정에 대 한.

날짜를 일광 절약 시간제 (DST) 년에 변경 될 수 있습니다. Microsoft Outlook 사용자가 Outlook 일정을 DST 규칙 변경 될 때마다 업데이트 해야 합니다. 이전 DST 규칙 및 현재 DST 규칙 사이의 날짜 라고이 문서에는 "DST 기간."

주소는 DST 기간 동안 발생 하는 Outlook의 일정 항목에 수행할 수 있는 작업을 설명 합니다. 새 DST 규칙에 따라 Microsoft Exchange Server 저장 되어 있는 일정 항목을 업데이트 하기 위해 취해야 할 작업에 설명 합니다. 이 문서에 제공 된 솔루션 Microsoft Exchange 일정 업데이트 도구 ("Exchange 도구")를 포함 합니다.

(DST 2007) 2007의 영향을 받는 모든 Microsoft 제품에 대 한 일광 절약 시간제 변경에 대 한 준비 하는 방법에 대 한 자세한 내용은 다음 Microsoft 웹 사이트를 방문 하십시오. 2011 년 러시아 정부는 일광 절약 시간제 (DST)를 취소 하는 법을 채택 합니다. 자세한 내용은 다음 Microsoft 웹 사이트를 방문 하십시오. 러시아어에 대 한 자세한 내용은 다음 Microsoft 웹 사이트를 방문 하십시오.
추가 정보

Exchange 도구 정보

Microsoft Windows DST 업데이트를 설치 하면 DST 변경 기간 동안 발생 하는 모든 오래 된 약속은 잘못 표시 될 발생 한 시간 후. 이러한 현상은 되풀이 약속과 단일 인스턴스 약속 합니다. 에 표시 됩니다 올바르게 Outlook, Microsoft Office Outlook Web Access 및 공동 작업 데이터 개체 (CDO)를 사용 하는 응용 프로그램에서 이러한 약속을 업데이트 해야 합니다.

Outlook은 Microsoft Office Outlook ("Outlook 도구")에 대 한 표준 시간대 데이터 업데이트 도구 라는 도구를 제공 합니다. 이 도구는 사용자가 자신의 일정을 업데이트할 수 있습니다.

표준 시간대 데이터 업데이트 도구에 대 한 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 합니다.
931667 Microsoft Office Outlook 대 한 표준 시간대 데이터 업데이트 도구를 사용 하 여 2007 년에서 일광 절약 시간제 변경 사항을 해결 하는 방법
Exchange 일정 업데이트 도구 ("Exchange 도구")를 사용 하면 문제가 발생 하지 않도록 해당 관리자가 직면 하는 모든 사용자에 게 Outlook 도구를 광범위 하 게 배포 및 각 사용자가 Outlook 도구를 올바르게 실행 하 게 합니다.

Exchange 도구에 대 한 자세한 설명

Exchange 도구 두 가지 별도 실행 파일 중 구성 됩니다. 이러한 파일은 다음 표에 설명 되어 있습니다.
파일 이름 설명
Msextmz.exe 이 실행 파일이 Exchange Server 실행 하는 서버에 있는 사서함의 표준 시간대 정보를 추출 합니다. 이 실행 파일의 사용자 지정된 목록에 대 한 사서함 일정 업데이트 됩니다.
Msextmzcfg.exe 이 실행 파일에는 Exchange Server 서버를 업데이트 하는 중 대부분의 관련 된 단계를 수행 하는 구성 도구입니다.

Exchange 도구의 새 버전에 대 한

고객 의견에 따라, Exchange 도구의 새 버전은 2007 년 8 월 13 일에 릴리스 되었습니다. 이 문서는 Exchange 도구의 새 버전을 참조합니다. 이전 버전의 Exchange 도구를 실행 하는 경우 제거한 다음 새 버전을 설치 합니다.

Exchange 도구의 새 버전은 다음과 같은 개선 사항이 포함 됩니다.
  • 표준 시간대 추출 하 고 일정 프로세스 aresped를 fourfold를 업데이트합니다.
  • 구성 도구에 대 한 사용자 인터페이스는 morestreamlined이 고 직관적인 합니다.
  • 회의실 및 resourcemailboxes 업데이트 기능이 구성 도구로 지금 만들어집니다.
  • 사용자 사서함을 업데이트 하는 기능 theconfiguration로 지금 만들어집니다.
  • 문제 해결 문서 되었습니다 theExchange 도구에 포함 된 및 구성 도구에 통합 되어 있습니다.
  • 표준 시간대 추출 알고리즘 및 오류 handlingcapabilities이 향상 됩니다.
  • 로깅 프로세스는 보다 친숙 한입니다.

Exchange 도구를 실행 하는 위험

Exchange 도구를 실행 하는 단일 인스턴스 약속 수 올바르게 업데이트 되지 위험이 있습니다. 예를 들어, 사용자가 만든 후 운영 체제 업데이트 된 단일 인스턴스 약속 수 제대로 업데이트 되지.

이러한 위험을 줄이기 위해 다음 방법 중 하나를 사용 합니다.
  • 그를 updateclient 컴퓨터와 사서함 일정을 업데이트 하는 시간 사이의 시간 간격을 줄입니다.
  • 조직의 컴퓨터에에서 업데이트 된 경우 긴 timeago,고급 설정에서 되풀이 모임만 업데이트 설정을 사용 합니다.

    일반적으로 사람들이 미리 몇 달 createsingle 인스턴스 약속 하지를 않습니다. 따라서 DSTupdates는 몇 달 전에 설치 된 대부분의 확장 된 DST 기간에 단일 인스턴스 meetingsthat가 만들어집니다 newDST 변환 규칙을 사용 하 여. 이러한 회의 업데이트할 필요가 없습니다.
  • 모든 클라이언트 computerswere 업데이트 하는 정확한 날짜를 알고 있으면 운영 체제 패치 날짜 설정과고급 설정에서 사용 합니다. 날짜를 지정 하면 해당 날짜 이후에 만든 단일 instanceappointments에서 Exchangetool으로 업데이트 되지 않습니다.
참고 Windows Vista를 실행 하는 클라이언트 컴퓨터에서 Outlook 도구나 Exchange 도구를 실행 하는 경우 사서함의 홈 표준 시간대 뉴질랜드 표준시가에 대해이 도구를 실행 하면 도구를 실행 해야 두 번 2008 년 1 월 1 일 이후. 자세한 내용은 "알려진 문제" 절을 참조 하십시오.

사서함 업데이트 옵션

다음 표에서 DST 2007 표준 시간대 규칙을 사용 하 여 사용자 사서함을 업데이트 하는 데 사용할 수 있는 다섯 가지 옵션이 나열 합니다.
옵션 전문가 단점
각 사용자에 게 Outlook 도구를 배포 하 고 알려준 다음 사용자가 자신의 사서함을 업데이트할 수 있습니다. 이 이렇게 연결 된 Exchange 도구를 실행 하는 위험을 피할 수 있습니다. 모든 사용자가 Outlook 도구를 적시에 제대로 실행을 보장 하는 것이 어렵습니다.

Outlook이 없는 사용자가 Outlook 도구를 실행할 수 없습니다.

사용자의 혼동을 줄이기 위해 추가 교육이 확인 해야 합니다.
영향을 받는 모든 사용자와 서버에 대해 Exchange 도구를 실행 합니다. 사용자를 위한 간소화 된 경험을 제공합니다이. "Exchange 도구를 실행 하는의 위험" 절에서 설명한 대로 Exchange 도구를 실행와 관련 된 위험이 있습니다.
되풀이 약속만 업데이트 하려면 Exchange 도구를 실행 합니다. 사용자가 Outlook 도구를 사용 하 여 자신의 사서함에서 단일 인스턴스 약속을 업데이트할 수 있도록 합니다. 단일 인스턴스 약속이 잘못 업데이트 될 위험이 있습니다. Outlook 도구를 실행 하는 단점 Exchange 도구를 실행 하는 단점을 사용 하 여 결합 됩니다.
Outlook 도구 없으며 Exchange 도구를 실행 합니다. 일정을 검토 하 고 필요에 따라 약속을 다시 예약 하도록 요청 합니다. 이 이렇게 연결 된 Exchange 도구를 실행 하는 위험을 피할 수 있습니다. 모든 사용자가 영향을 받는 모든 약속을 다시 예약 하지 않으면 일부 일정 항목이 됩니다 한 시간 해제 확대 시행 되는 DST 기간 동안.

사용자의 혼동을 줄이기 위해 추가 교육이 확인 해야 합니다.
각 사용자에 게 Outlook 도구를 배포 하 고 알려준 다음 사용자가 자신의 사서함을 업데이트할 수 있습니다. Exchange 도구의 표준 시간대 추출 모드를 사용 하 여 사용자가 Outlook 도구를 실행 하는지 여부를 확인할 수 있습니다.

사용자가 Outlook 도구를 실행 하지 않는, 관리자가 Exchange 도구를 실행할 수 있습니다.
이 이렇게 사용자에 게 도구를 적시에 위험이 줄어들고 Exchange 도구를 실행 하는 함께 관련 된 위험을 방지할 수 있습니다. 사용자가 Microsoft Office Outlook 2007을 실행 하는 경우 옵션이 아닙니다.

Exchange 도구를 설치 하는 방법

Exchange 일정 업데이트 도구는 자동 압축 풀림 실행 파일 (Msextmz.exe)의 형태로 다운로드할 수 있습니다. 이 도구는 Microsoft 다운로드 센터에서 다운로드할 수 있습니다.

다운로드Exchange 일정 업데이트 도구 패키지를 지금 다운로드 하십시오.

가상 컴퓨터를 설치 하 고 Exchange 도구를 사용 하는 데 도움이 생성 됩니다. 가상 컴퓨터는 Microsoft Windows Server 2003, Outlook 2007, Microsoft Office Excel 2007 및 Microsoft Office Word 2007을 기반으로 합니다. 가상 컴퓨터 Microsoft Virtual Server 2005 R2 및 Microsoft Virtual PC 2004 모두에서 작동합니다.

Exchange 일정 업데이트 도구에 대 한 가상 컴퓨터에 대 한 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 합니다.
933185 가상 컴퓨터 Exchange 조직에서 일광 절약 시간제 2007 일정 업데이트를 배포 하는 데 도움이 됩니다.
Microsoft 지원 파일을 다운로드하는 방법에 대한 자세한 내용을 보려면 Microsoft 기술 자료의 다음 문서 번호를 클릭합니다.
119591 온라인 서비스에서 Microsoft 지원 파일을 구하는 방법
Microsoft는 바이러스에 대해 이 파일을 검사했습니다. Microsoft는 파일이 게시된 날짜에 사용할 수 있었던 가장 최신 바이러스 검색 소프트웨어를 사용했습니다. 파일은 무단으로 변경할 수 없도록 보안이 강화된 서버에 저장됩니다.

Exchange 도구에서 지 원하는 언어

Exchange 도구는 영어로 사용할 수 있습니다. 이 도구는 영어 컴퓨터 에서만 실행 됩니다.

Exchange Server Exchange 도구와 호환 되는 버전

Exchange 도구는 다음 버전의 Exchange Server 사서함을 업데이트할 수 있습니다.
  • Microsoft Exchange Server 2007 Enterprise Edition
  • Microsoft Exchange Server 2007 Standard Edition
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange 2000 Server Enterprise Edition
  • Microsoft Exchange 2000 서버 표준 버전

Exchange 도구에서 지 원하는 운영 체제

Exchange 도구는 다음 운영 체제의 32 비트 버전에서 실행 됩니다.
  • Microsoft Windows Server 2003
  • Microsoft Windows XP
  • Windows Vista

Exchange 도구를 실행 하기 전에 수행할 작업

업데이트 설치

Exchange 도구를 실행 하기 전에 클라이언트 및 서버 컴퓨터가 올바르게 업데이트 되었는지 확인 합니다. 이렇게 하려면 서버 및 클라이언트에 Windows DST 업데이트를 설치 합니다. 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 다음 문서를 확인하십시오.
942763 Microsoft Windows 운영 체제용 누적 표준 시간대 업데이트를 2007 년 12 월

Microsoft Exchange Server 2003 서비스 팩 2 (SP2)를 실행 하는 경우 조직에 따라 다음 업데이트 중 하나 또는 모두를 설치 합니다.
  • 911829 업데이트
  • 924334 업데이트
이러한 업데이트에 대 한 자세한 내용은 Microsoft 기술 자료에 있는 다음 문서 번호를 클릭 합니다.
911829 모든 편집 작업을 수행 하려고 하면 Outlook Web Access에서 작성 프레임을 사용 하려면를 클릭 해야 때 오류 메시지가
924334 메시지 작성 양식 Exchange Server 2003에서 Internet Explorer 7.0 및 S/MIME 제어는 Outlook Web Access 클라이언트를 설치한 후 응답 하지 않는다
사용자가 해당 예루살렘, 중앙 브라질, 또는 E. 남아프리카 미국 표준 시간대 내에서 Microsoft 기술 자료의 다음 문서에서 지침을 읽어 보십시오.

943390 일부 Outlook 일정 항목은 저하가 발생 하지 않습니다 제대로 Outlook 표준 시간대 데이터 업데이트 도구를 사용 하 여 특정 표준 시간대의 일광 절약 시간제 변경에 대 한 조정

시스템 요구 사항 확인

다음 조건을 만족 하는 컴퓨터에만 Exchange 도구를 실행 해야 합니다.
  • 컴퓨터에 Microsoft Office Outlook 2003 서비스 팩 2 (SP2) 또는 Microsoft Office Outlook 2007이 설치에.
  • 컴퓨터에 Outlook 표준 시간대 데이터 Toolinstalled 합니다.
  • Microsoft.NET Framework 버전 2.0 theclient 컴퓨터에 설치 되어 있습니다.
Exchange 시스템 관리 도구 또는 Exchange Server 실행 하는 컴퓨터에서 Exchange 도구를 실행할 수 없습니다. Exchange 시스템 관리 도구 또는 Exchange Server 실행 하는 컴퓨터에서 Exchange 도구를 설치 하려고 하면 다음과 같은 오류 메시지가 나타납니다.
Microsoft Exchange와 Microsoft Exchange 일정 업데이트 도구를 설치할 수 없습니다.

사용 권한 및 기타 사용자 요구 사항 확인

다음 조건이 충족 되는지 확인 하십시오.
  • 각 ExchangeServer 메시지 데이터베이스 (MDB)에 대 한 사용 권한을 업데이트 하는 정보 저장소를 관리 합니다.
  • 사람 이름으로 보내기 권한을 모든 사서함 areupdated입니다.
  • 모든 사서함 areupdated에 대 한 전체 사서함 액세스 권한입니다.
  • 로컬 관리자 권한이 있어야 부여의 computerthat는 Exchange 도구를 실행 합니다.

"사서함 사용 권한 부여" 스크립트

도메인 사용자 모든 사서함에 전체 사서함 액세스 및 다른 사람 이름으로 보내기 권한을 부여 하려면 GrantMailboxPermission.vbs 스크립트 샘플을 사용할 수 있습니다.

Exchange 2000 Server 또는 Exchange Server 2003을 실행 중인 컴퓨터에 Exchange Server 관리자가만이 스크립트를 실행할 수 있습니다. Exchange Server 2007을 실행 하는 컴퓨터에서이 스크립트를 실행할 수 없습니다. 그러나 필요한 권한을 부여 하려면 Exchange 관리 셸을 사용할 수 있습니다.

.Vbs 스크립트 코드는 "참조" 절에 제공 됩니다. 다음 표에서이 스크립트가 실행 되는 두 가지 모드를 설명 합니다.
모드 명령 설명
추가 CScript GrantMailboxPermission.vbs-추가 Domain_Name \ User_Name File_Name 이 명령은 허가 Domain_Name \ User_Name 입력된 파일에 나열 된 사용자 사서함에 사용자 전체 사서함 액세스 및 다른 사람 이름으로 보내기 권한입니다.

입력된 파일은 사용자 사서함 레거시 도메인 이름이 포함 된 텍스트 파일 이어야 합니다. 이러한 이름은 캐리지 리턴 + 줄 바꿈 (CRLF) 구분 해야 합니다.

GrantMailboxPermission.log 파일을 생성 하는 스크립트입니다. 이 파일은 처리 된 사서함에 레코드입니다. 로그 파일의 첫 번째 줄은 Domain_Name \ User_Name 사용자에 게 액세스 권한이 부여 됩니다. 이 파일을 삭제 하지 마십시오. 이 파일은 제거 모드에서 사용 합니다.

명시적인 "거부" 액세스는 사용자에 게 할당 되 면 스크립트 "GrantMailboxPermission.err." 라는 파일에 정보를 기록 스크립트 부여 되거나 권한이 변경 되지 않습니다.

사용자가 "거부" 권한이 할당 된 보안 그룹의 일부, 스크립트가 전체 사서함 액세스 및 다른 사람 이름으로 보내기 권한을 부여 합니다. 그러나, 사용자 사서함에 로그온 할 수 없습니다. GrantMailboxPermission.err 파일에서 모든 오류가 기록 됩니다.
제거 CScript GrantMailboxPermission.vbs – 제거이 명령은 GrantMailboxPermission.log 파일에 나열 된 사서함에 전체 사서함 액세스 및 다른 사람 이름으로 보내기 권한을 제거 하면 Domain_Name \ User_Name 사용자가. 이 Domain_Name \ User_Name GrantMailboxPermission.log 파일에 사용자 지정 합니다.
메모
  • RunningExchange 서버 컴퓨터에서이 스크립트를 실행 하면 스크립트는 scriptsuccessfully 사용자를 처리할 때 마침표 (.) 문자를 반환 합니다. 스크립트는 스크립트에서 사용자를 성공적으로 처리 하지는 느낌표 (!)를 pointcharacter를 반환 합니다.
  • 표준 시간대 추출 모드의 출력 파일에는이 스크립트에 대 한 입력 파일로 beused 수 없습니다. Thisscript에 대 한 입력된 파일을 만들려면 표준 시간대 추출 모드로 출력 파일 intoNotepad의 내용을 붙여 내용을 새 문서로 저장 한 다음 새 문서에 입력 파일로 사용 하 여.

Exchange 도구를 사용 하는 방법

Exchange 도구를 사용 하려면 Exchange 일정 업데이트 구성 도구 (Msextmzcfg.exe)를 시작 합니다. 이 프로그램 일정 업데이트 전체 과정을 도움이 됩니다.

표준 시간대 추출 프로세스가 실행

사서함 일정을 업데이트할 달력 중 표준 시간대를 결정 해야 합니다. 표준 시간대 추출 프로세스의 시간대 확인 하려면 사서함 일정의 약속과 속성을 검사 합니다. 표준 시간대 추출 프로세스를 실행 하려면 다음과이 같이 하십시오.
  1. 시작 페이지에서 다음을 클릭 합니다.

    참고 시작 페이지 구성 도구 anddiscusses 도구를 실행 하는 데 필요한 권한을 소개 합니다. 이 문서에 대 한 링크가 페이지 alsoprovides.
  2. 구성 도구에 대 한 설정을 지정 합니다. 적어도 200 메가바이트 (MB) 디스크 공간 tologging 할당 하는 Werecommend.

    기본 설정을 변경할 수고급 설정을 클릭 합니다. 해당 advancedsettings에 대 한 자세한 내용은이 절차 다음에 나오는 표를 참조 하십시오.
  3. 로컬 포리스트에서 Active Directorydirectory 서비스 업데이트를 Exchange 서버를 선택 합니다. 다음 표준 시간대 추출 과정이 시작 하려면을 누릅니다.

    참고 표준 시간대 추출 이미 수행한 경우 skipthis 단계 건너뛰기를 클릭 하 여 수 있습니다.

    상태 표시줄, 출력 로그 및 시간 zoneextraction 프로세스의 실시간 표시에 대 한 링크가 표시 되는지 확인 합니다. 표준 시간대 추출 프로세스 iscomplete 후 다음을 클릭 합니다.

    오류가 발생 하는 경우 alink 문제 해결 문서에 표시 됩니다.
  4. 사서함 함께 아니요 시간대 페이지 구성 및 누른 다음 calendaritems를 검색 합니다.

    참고 사용자의 표준 시간대를 나타낼 사서함 수준 propertiesthat 없는 발견, 검색 실제 모임과 appointmentsinside 표준 시간대 확인 하려면 해당 일정. Numberof 일정 항목 검색할 구성 도구를 통해 원하는 지정할 수 있습니다. Thelarger 수 더 검색이 걸립니다, 지정 하는 항목입니다.
  5. 도구를 얻을 수 알 수 없는 표준 시간대 확인 페이지에서 알려진된 운영 체제 표준 시간대 도구 doesnot 인식 시간대 매핑할 것인지를 묻습니다. 이 작업을 수행한 후다음 을 클릭합니다
  6. 구성 도구는 사용자에 게 multipletime 영역에서 발견 사용자의 일정을 업데이트 하는 일회성 영역을 지정 하 여 충돌을 수동으로 해결 하려면 묻는 메시지가 나타납니다. 이 작업을 수행한 후다음을 클릭 합니다.
  7. 확인 되지 않은 시간대에 사서함 DNs 저장 페이지에서 나머지 사용자가 아직 없는 시간 zoneinformation 또는 충돌 하는 시간 영역 정보는 여전히 가진 ina 기록 로그 파일을 구분 합니다. 다음을 클릭 합니다.
표준 시간대 추출 과정이 완료 됩니다. 사용자 및 추출 된 표준 시간대의 목록은 설치 디렉터리의 출력 파일 (output.txt 라는)에 있습니다.

고급 설정

다음 표에서 이전 절차의 2 단계에서 구성할 수 있는 고급 설정을 설명 합니다.
설정기능시나리오고려 사항적용 가능성
되풀이 모임 전용 업데이트이 설정은 영향을 받는 유일한 되풀이 모임을 업데이트 DST 변경. 확대 시행 되는 DST 기간에 속하는 단일 인스턴스 약속이 업데이트 여부에 관계 없이 업데이트 되지 않습니다.조직의 컴퓨터에에서 오래 전 업데이트 된 경우이 설정을 사용 합니다.

일반적으로 사람들이 만들지 않습니다 단일 인스턴스 약속이 많은 달 후에. 따라서, 몇 달 전에 DST 업데이트가 설치 된 경우 확대 시행 되는 DST 기간에 속하는 단일 인스턴스 모임 대부분이 만들어집니다 새 DST 전환 규칙을 사용 하 여. 이러한 회의 업데이트할 필요가 없습니다.
사용자 만든 단일 인스턴스 모임 미리 몇 달이이 설정이 지정 된 경우이 모임 업데이트 되지 않습니다.이 설정은 모든 사서함, 모든 회의실 및 모든 사용자 일정 적용 됩니다.
운영 체제 패치 설치 날짜이 설정은 지정 지정 된 날짜 이후에 업데이트 되거나 생성 되는 단일 인스턴스 약속이 업데이트 되지 않습니다.모든 클라이언트 컴퓨터 업데이트 된 정확한 날짜를 알고 있으면이 설정을 사용 합니다.

이렇게 하면 업데이트를 설치한 후에 만들어진 모임 업데이트 되지 않습니다. 이러한 모임을 새 표준 시간대 규칙을에서 속합니다.
높은 침투 업데이트 때와 클라이언트 컴퓨터 모두 24 시간 미만의 내 업데이트 된 경우에 유효한이 설정이입니다. (가 높은 침투 하면 조직의 컴퓨터에에서 업데이트 된 비율이 높은 90% 범위입니다.)

또한 관리자는 하나의 업데이트 날짜를 지정할 수 있습니다. 특정 업데이트 및 표준 시간대 중 특정 집합에 해당 하는 표준 시간대에서 만든 모임 업데이트 되어야 합니다.

회의실 의미는 회의 장소 특정 표준 시간대에는 업데이트입니다.

사용자 사서함에 대 한 의미는 SuppressExchange 설정 또는 SuppressAll 설정을 지정 하지 않은 경우 특정 표준 시간대에 속하는 사용자 사서함만 업데이트 됩니다.
이 설정은 모든 사서함, 모든 회의실 및 모든 사용자 일정 적용 됩니다.
MaxDepthSuppressExchange이러한 설정으로 영향을 받는 사용자의 일정에 모든 약속이 인해 사용자 이러한 일정 항목 이끌이가 있는지에 관계 없이 업데이트 해야 DST 변경.

사용자가 이끌이가 일정 항목의 경우 Exchange 사서함을가지고 있는 참석자에 게 업데이트가 전송 되지 않습니다. Exchange 사서함이 없는 참석자에 게 업데이트가 전송 됩니다.

MaxDepth 설정은 Exchange 사서함 및 참석자는 하지 않는 하는 참석자를 확인 하려면 수행 하는 메일 그룹 확장 수준을 지정 합니다.
Exchange 사용자가 확대 시행 되는 DST 기간에 의해 영향을 받는 모임의 이끌이에서 모임 업데이트를 받지 않으려는 경우이 설정을 사용 합니다.

조직에 Exchange Server 아닌 달력 시스템 및 회의 조직 외부 참석자를 포함 하도록 예약 된 경우 SuppressExchange 설정은 SuppressAll 설정 보다 나은입니다.
모임 업데이트가 전송 됩니다 비 Exchange 사용자에 게 제외. 따라서 가능한 모든 참석자에 대 한 같은 모임 복사본 업데이트 되도록 하려면 조직의 모든 사서함을 업데이트 되어야 합니다.

이 조건은 업데이트 해야 하는 사서함 수가 매우 커집니다. 따라서 처리 시간이 증가할 수 있습니다.

대규모의 중첩 된 메일 그룹이 참석자 목록에 인 때 비용이 많이 드는 프로세스 모임에 참석자를 확인 하 고 해당 참석자가 Exchange 사서함입니다. 이 설정을 지정 하 고 MaxDepth 매개 변수 값이 높은 설정할 경우 도메인 컨트롤러에 상당한 로드를 넣을 수 있습니다.
이 설정은 사용자 사서함에만 적용 됩니다.
SuppressAll이 설정을 사용 하면 영향을 받는 사용자의 일정에 모든 약속이 사용자 이러한 일정 항목 이끌이가 있는지에 관계 없이 업데이트 해야 DST 변경.

사용자가 이끌이가 일정 항목의 경우 참석자에 게 업데이트가 전송 되지 않습니다.
참석자가 확대 시행 되는 DST 기간에 영향을 받는 모임의 이끌이에서 모임 업데이트를 수신 하지 않으려면이 설정을 사용 합니다.모임 업데이트가 전송 됩니다. 따라서 가능한 모든 참석자에 대 한 같은 모임 복사본 업데이트 되도록 하려면 조직의 모든 사서함을 업데이트 되어야 합니다.

이 조건은 업데이트 해야 하는 사서함 수가 매우 커집니다. 따라서 처리 시간이 증가할 수 있습니다.

참석자가 Exchange 사서함이 없는 사용자는 업데이트가 수신 되지 않습니다. 사용 중인 전자 메일 시스템에 따라 및 해당 관리자는 작업에 따라 해당 약속을 업데이트할 수 있습니다.
이 설정은 사용자 사서함에만 적용 됩니다.

회의실 및 리소스 사서함 업데이트

회의실 및 예약 충돌을 피하기 위해 리소스 사서함을 업데이트 해야 합니다. 이렇게 하려면 다음 단계를 수행하십시오.
  1. 자원 지정 및 회의 RoomCalendars 페이지에서 입력 하거나 조직 회의 roomsin의 별칭 목록을 붙여넣습니다. 별칭, 유효성을 검사 하려면 해결 을 클릭 하 고 을 클릭 합니다.
  2. 자원 andConference 방 달력에 대 한 표준 시간대 확인 페이지에서 묻는 manuallyspecify 회의실에 대 한 표준 시간대를 회의실에서 nothave 시간대 경우. 이 작업을 수행 하 고 을 클릭 합니다.
  3. 알려주는 미리 알림 페이지가 표시 됩니다 있는 toolis 일정을 업데이트 하려고 합니다. 다음을 클릭 합니다.
  4. 상태 표시줄, 출력 로그 및 도구의 출력 areal 시간 표시에 대 한 링크가 표시 되는지 확인 합니다. 다음을 클릭 합니다.

    오류가 발생 하는 thetroubleshooting 문서에 대 한 링크가이 페이지의 아래쪽에 표시 됩니다.

사용자 사서함 달력 업데이트

이렇게 하려면 다음 단계를 수행하십시오.
  1. 사용자 MailboxCalendars 업데이트 설정 페이지에서 업데이트에 대 한 설정을 구성 합니다.

    Ifyou SuppressExchange 또는SuppressAll 고급 설정을 지정 하지 않은, DST가 areaffected 해당 표준 시간대를 선택 합니다. 그렇지 않으면 모든 표준 시간대를 선택 합니다.

    다음을 클릭 합니다.
  2. 알려주는 미리 알림 페이지가 표시 됩니다 있는 toolis 일정을 업데이트 하려고 합니다. 다음을 클릭 합니다.
  3. 상태 표시줄, 출력 로그 및 도구의 출력 areal 시간 표시에 대 한 링크가 표시 되는지 확인 합니다. 업데이트 iscomplete 후 다음을 클릭 합니다.

    오류가 발생 하는 문제 해결 문서를 alink thispage의 아래쪽에 표시 됩니다.
  4. 마침을 클릭 합니다.

Exchange 도구 로그 파일 및 하위 디렉터리

로그 파일

Exchange 도구 설치 디렉터리에 로그 파일을 만듭니다.
  • Output.txt 라는

    이 파일에는 해당 표준 시간대 정보를 추출 하는 모든 사용자 사서함 thatwere 목록이 있습니다.
  • TimeZoneExtraction.log

    이 로그는 모든 서버에 대해 시간 zoneextraction 프로세스의 조합 된 출력을 포함합니다.
  • ResourceUpdate.log

    이 로그는 회의실 및 리소스 사서함 업데이트 프로세스의 출력을 포함합니다.
  • UserUpdate.log

    이 로그는 모든 서버에 대 한 usermailbox 업데이트 프로세스의 조합 된 출력을 포함합니다.
  • CalendarScan.log

    이 로그는 모든 서버에 대해 calendarscan 프로세스의 조합 된 출력을 포함합니다.
  • ConflictUsers.txt

    이 로그는 conflictingtime 영역에 있는 사용자의 목록이 포함 되어 있습니다. 예를 들어, 사용자의 사서함 등록 정보는 theybelong 여러 시간대를 나타냅니다.
  • NonExistent.txt

    이 로그에는 없는 시간 zoneinformation 사용자의 목록이 들어 있습니다.

하위 디렉터리

Exchange 도구 설치 디렉터리에 다음과 같은 하위 디렉터리를 만듭니다.
  • 리소스

    이 작업 하위 디렉터리에 대 한 업데이트에 대해 회의실 및 리소스 사서함에 대 한. 이 directorycontains는 다음과 같은 파일이 있습니다.
    • Msextmz.log

      업데이트 프로세스에 대 한 Exchange 도구의 출력 파일입니다.
    • Errors.txt

      이 파일에는 사서함 목록이 들어 있습니다.
    • Processed.txt

      이 파일이 성공적으로 업데이트 되었습니다 사서함 목록을 포함 합니다.
    참고 모든 작업 하위 디렉터리에이 파일이 들어 있습니다.

    TheResource 하위 디렉터리를는 다음 하위 디렉터리가 들어 있습니다.
    • 로그 파일

      이 하위 업데이트 했습니다 각 사서함에 대 한 업데이트 로그가 들어 있습니다. 각 업데이트 로그 업데이트 된 모임 목록을 포함 해야 합니다.
  • Server_Name

    표준 시간대 추출 프로세스는 각 serveron에 대 한 하위 디렉터리 또는 일정 업데이트 수행 된 있습니다.이러한 하위 다음 하위 디렉터리가 포함 되어 있습니다.
    • CalendarScan

      이 일정 검색 프로세스에 대 한 작업 하위 디렉터리입니다.
    • 추출

      표준 시간대 추출 프로세스의 작업 하위 디렉터리입니다.
    • 업데이트

      사용자 사서함 업데이트 프로세스에 대 한 작업 하위 디렉터리입니다. 다음 하위 디렉터리가 포함 됩니다.
      • 로그 파일

        이 하위 업데이트 했습니다 각 사서함에 대 한 업데이트 로그가 들어 있습니다. 각 업데이트 로그 업데이트 된 모임 목록을 포함 해야 합니다.

Exchange 도구를 실행 한 후 수행할 작업

사용자 환경에서 모든 Exchange 서버에 대해 Exchange 도구를 실행을 마친 후 해당 Exchange Server DST 업데이트를 적용 합니다. 다음 목록에는 Exchange Server 버전 및 서비스 팩 수준으로 구성 되어 있습니다. 순서에 따라 Exchange Server 버전에 대 한 업데이트를 설치 합니다.

Exchange Server 2007
940006 업데이트 롤업 4 Exchange Server 2007에 대 한 설명
업데이트 롤업 4 Exchange Server 2007에 대 한 다음 DST 수정 프로그램이 포함 됩니다.
  • 937656 2007에서에서 뉴질랜드 일광 절약 시간제 (DST) 시작 후에 Exchange 2007 Outlook Web Access에 문제가 발생
  • 932561 Exchange 2007을 사용 하 여 다른 Exchange 조직에서 보낸 약속 잘못 되었을 한 시간씩 서 부 오스트레일리아 표준 시간대에서 한 조직의 경우
Exchange Server 2003 SP2
926666 Exchange 2003 서비스 팩 2의 2007 년에서 일광 절약 시간제 변경에 대 한 업데이트
931915 Exchange Server 2003 서비스 팩 2의 뉴펀들랜드에서 2007 년에서 일광 절약 시간제 변경에 대 한 업데이트
929895 다른 Exchange Server 조직 간에 전송 되는 약속 잘못 되었을 한 시간씩 서 부 오스트레일리아 표준 시간대의 경우 회사의
937653 2007 년에서 뉴질랜드 변경 내용에 대 한 일광 절약 시간제 기간이 지난 후 Exchange Server 2003에서 하나 이상의 문제가 발생
Exchange Server 2003 SP1
940123 2007에서에서 뉴질랜드 일광 절약 시간제 (DST) 후 Exchange 2003 서비스 팩 1 시작 문제가 발생 하면

알려진 문제

  • Outlook Web Access에서 만든 되풀이 모임이 Exchange 도구로 업데이트 되지 않습니다.

    되풀이 모임을 Outlook Web Access에서 해당 arecreated 사서함을 업데이트 하기 전에 theExchange 서버에 Exchange Server 업데이트를 설치 하는 경우 Exchange 도구로 업데이트 되지 않습니다.

    이 문제를 해결 하려면 Exchange Server 업데이트를 제거 하 고 theExchange 도구를 실행 하는 Exchangeserver에서 Exchange Server 업데이트를 다시 설치.
  • Exchange 도구를 실행 한 후 Exchange 2007은 다시 시작 해야 합니다.

    일정 항목을 제대로 표시 하려면 Outlook Web Access 2007 inExchange에 대해 Exchange 도구를 실행 한 후 restartthe Exchange 서비스 해야 합니다.
  • Exchange 도구를 설치할 수 없습니다.

    Exchange 도구가 성공적으로 설치 되어 있지 않습니다 ifeither 다음 레지스트리 키의 존재 합니다.
    • HKEY_CLASS_ROOT\Outlook.Application.9
    • HKEY_CLASS_ROOT\Outlook.Application.10
    이 시나리오에서 Exchange 도구를 설치 하려고 하면 다음 오류 파일로를 나타납니다.
    이 버전의 MicrosoftOutlook 사용 하 여 Exchange ServerCalendar 기준 주소 도구를 설치할 수 없습니다.
    이 문제를 해결 하려면 이러한 레지스트리 키 삭제, Exchange 도구를 설치 및 다음의 설정값을 복원.

    중요 이 섹션, 방법 또는 작업은 레지스트리를 수정하는 방법을 설명하는 단계를 포함합니다. 그러나 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 따라서 다음 단계를 주의 깊게 수행해야 합니다. 추가 보호 조치로 수정하기 전에 레지스트리를 백업합니다. 그러면 문제가 발생할 경우 레지스트리를 복원할 수 있습니다. 레지스트리를 백업 및 복원하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭합니다.
    322756 Windows에서 레지스트리를 백업 및 복원하는 방법
  • 서버 별로 처리할 수 있는 사서함 수에 제한이 있다

    사용자 목록 모드 및 표준 시간대 추출 mode,Msextmz.exe 서버의 65535 사서함을 처리할 수 있습니다. 경우 서버 hasmore 보다 65535 사서함, 일부 사서함이 처리 되지 않습니다.
  • 공용 폴더 일정이 업데이트 되지 않는다

    Exchange 도구 공용 Foldercalendars를 업데이트 하지 않습니다. 공용 폴더 일정을 업데이트 하는 방법에 대 한 내용은 Outlook 도구 설명서를 seethe.
  • 동일한 환경에서 Outlook 도구와 Exchange 도구를 실행할 수 있습니다.

    경우 도구를 실행 하면 Exchange 사서함에서 해당 hasalready 되었습니다 없습니다 sideeffects 경험 또는 그 반대로 Outlook 도구에서 업데이트 합니다. 그러나 Exchange 도구를 실행 하는 경우 필요는 없습니다 torun 사용자에 대해 Outlook 도구 별도로 있습니다.
  • 비-모임 미리 알림이 예상 보다 늦게 나타난다

    있는 사서함에 대 한 않은 모임 미리 알림 업데이트 bythe Exchange Outlook에 mailboxin 온라인 모드로 연결한 적이 없는 경우 도구는 업데이트 되지 않습니다. 이 경우 미리 알림이 표시 한 시간 이상 thanexpected.

    일정 약속에 대 한 잘못 된 미리 알림 Outlook에서 없습니다 있습니다 mustadjust 온라인 모드로 연결한 경우는 Outlook toolfinds. 또한 미리 알림 검색 폴더가 사서함에 존재 하지 않습니다.따라서 도구는 전자 메일 항목, 연락처 또는 다른 미리 알림이 업데이트 되지 않습니다.

    예를 들어, 도구는 나중에 한 번에 추가 전자 메일 itemto 작업에 미리 알림이 업데이트 되지 않습니다. 도구는 또한 미리 알림이 있는 작업 항목에는 thereminder를 업데이트 되지 않습니다.
  • 오류 메시지가: "'Microsoft Exchange 일정 업데이트 도구'의 이전 버전에서 발견 된 때문에 설치할 수 없습니다. 제거 하 고이 설치를 다시 실행 하십시오 "

    Exchange 일정 UpdateTool 버전 1.0 이전에 설치한 경우 ExchangeCalendar 업데이트 도구 버전 2.0을 설치 하기 전에이 버전을 제거 해야 합니다.

    Exchange 일정 업데이트 Toolversion 1.0 자동 압축 풀기 실행 파일 (Msextmz.msi 및 모두 제거 해야) containedtwo.msi 패키지를 배포 했습니다. Exchange 도구의 버전 2.0을 설치 하기 전에 bothpackages를 제거 해야 합니다.

    Exchange 도구의 버전 2.0을 설치할 때 문제가 발생 하는 youstill, 1.0 버전의 Exchange 도구를 설치 제거 하 고 다시 설치 하십시오. 제어판에서 추가 / RemovePrograms 기능을 사용 하 여 대신.msi 패키지를 사용 하 여 Dothis. 그런 다음 컴퓨터를 다시 시작, andthen Exchange 도구의 버전 2.0을 설치 합니다.

    이 절차 doesnot 작업 직접.msi 패키지에서에서 바이너리를 추출.
  • Outlook 또는 Exchange 업데이트 도구를 실행 하면 약속은 해제 한 시간씩 사서함의 홈 표준 시간대 뉴질랜드 표준시가

    이 문제가 발생 하면 다음과 같은 시나리오가 aretrue.
    • Windows Vista를 실행 하는 컴퓨터에서 Outlook 또는 Exchange 업데이트 도구를 실행 합니다.
    • 업데이트 되는 사서함의 홈 표준 시간대 뉴질랜드 표준시입니다.
    이 문제를 해결 하려면 도구를 실행 해야 Outlook orExchange 업데이트 사서함에 대 한 두 번째 시간 이후에 January1, 2008.

    Windows Vista 처리 시간 zoneinformation 다르게 다른 버전의 Windows에 비해 때문에이 문제가 발생 합니다. 실행 하지 않으면 theOutlook 또는 Exchange 업데이트 도구 다시 2008 년 1 월 1 일 이후인 경우 한 시간 allappointments 두 번째 DST 이벤트에서 해제 됩니다. 2008 년 4 월 6 일-2008 년 3 월 16 일의 날짜를 포함 하는 두 번째 DSTevent.

    Notwant 2008 년 1 월 1 일 두 번째 DSTevent의 약속을 업데이트 하려면 때까지 기다리려는 경우 Outlook 실행 하거나 isrunning Windows XP 또는 Windows Server 2003에는 Exchange 컴퓨터에서 도구를 업데이트 합니다.
  • M/DD/YYYY 형식으로 날짜를 MM/DD/YYYY 형식으로 변경 됩니다.

    Exchange 일정 업데이트 도구에서 운영 체제 패치 날짜 옵션을 설정 합니다. 이렇게 하면 Exchange 일정 업데이트 도구가 제대로 작동 하지 않습니다. M/DD/YYYY를 날짜 형식 MM/DD/YYYY를 변경 때문에이 문제가 발생 합니다.

    또한, 오류 로그에 다음과 유사한 오류 메시지가 기록 됩니다.
    [2008/02/28 오전 7시 10분: 21][776]: wmain: 오류 0x80070057 구성-읽지 못했습니다.
    이 문제는 잘못 된 옵션 설정은 샘플 사서함의 다음 섹션에서 때문에 발생합니다.서버.ini 파일입니다.
    ServerDN = /O=OrgName/OU=AdminGroup/cn=Configuration/cn=Servers/cn=ServerName LogDirectory = C:\Program Files\MSExTmz\ServerName\Update\LogFiles\ ErrorFile = C:\Program Files\MSExTmz\ServerName\Update\errors.ServerName.txt ProcessedFile = C:\Program Files\MSExTmz\ServerName\Update\processed.ServerName.txt LogFile = C:\Program Files\MSExTmz\ServerName\Update\msextmz.ServerName.log SystemPatchDate = 2/28/2008  DebugFile = C:\Program Files\MSExTmz\debug\ServerName.debug.bin PerMailboxTimeLimit = 15 PostMailboxDelay = 0 RebaseOptions = 171 InputFile = C:\Program Files\MSExTmz\ServerName\Update\Mailboxes.ServerName.txt 
    "SystemPatchDate" 줄에 "2/28/08" 날짜는 이 날짜는 DD/MM/YYYY 형식에서 이어야 합니다.

    이 문제를 해결 하려면 운영 체제 패치 날짜 옵션을 사용 하지 마십시오.
참조

"사서함 사용 권한 부여" 스크립트

Option Explicit' For FileSystemObjectConst ForReading = 1Const ForWriting = 2Const ForAppending = 8Const TristateTrue = -1Const TristateUseDefault = -2Const TristateFalse = 0'Permission Type: Allow or DenyConst ADS_ACETYPE_ACCESS_ALLOWED = &H0Const ADS_ACETYPE_ACCESS_DENIED = &H1Const ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = &H5Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6Const ADS_ACEFLAG_INHERIT_ACE = &H2Const ADS_ACEFLAG_NO_PROPAGATE_INHERIT_ACE = &H4Const ADS_ACEFLAG_INHERIT_ONLY_ACE = &H8Const ADS_ACEFLAG_INHERITED_ACE = &H10Const ADS_ACEFLAG_VALID_INHERIT_FLAGS = &H1fConst ADS_ACEFLAG_SUCCESSFUL_ACCESS = &H40Const ADS_ACEFLAG_FAILED_ACCESS = &H80'Declare ADSI constantsConst ADS_SCOPE_SUBTREE = 2Const ADS_OPTION_SECURITY_MASK = 3Const ADS_OPTION_REFERRALS	= 1Const ADS_SECURITY_INFO_DACL = 4Const ADS_CHASE_REFERRALS_NEVER = &h00 Const ADS_CHASE_REFERRALS_SUBORDINATE = &h20 Const ADS_CHASE_REFERRALS_EXTERNAL = &h40'Microsoft Exchange ServerConst EX_MB_SEND_AS_ACCESSMASK  = &H00100Const EX_FULLMAILBOX_ACCESSMASK = 1Const EX_MB_SEND_AS_GUID = "{AB721A54-1E2F-11D0-9819-00AA0040529B}"'Application Parameter IndexConst ARG_INDEX_MODE = 0Const ARG_INDEX_USERNAME = 1Const ARG_INDEX_FILENAME = 2Const MIN_ARG = 1Const MODE_INVALID = -1 Const MODE_ADD = 0Const MODE_REMOVE = 1Const ADD = "-ADD"Const REMOVE = "-REMOVE"'Application Const StringConst EMPTYSTRING = ""Const ERROR_FILENAME = "GrantMailboxPermission.err"Const OUTPUT_FILENAME = "GrantMailboxPermission.log"Dim OUTPUT_DELIMITEROUTPUT_DELIMITER = vbTab'Logging fileDim objFSODim objfileErrorDim objfileOutputDim objfileImportDim objconnDim objCommandDim rootDSEDim sDomainContainerDim sUserLDAPPathDim objUserDim objSDNTsecurityDim objDACLNTDim objDACLEXDim objSDMailboxDim fFMADim fSendAsDim AccessTypeForFMADim AccessTypeForSendASDim fAddedFMADim fAddedSendAsDim fRemovedFMADim fRemovedSendAsDim sArraySplitDim sOneRowDim sGrantedUserDim dArgCountDim cScriptModeDim dArgExpectedDim fOneErrorOn Error Resume Next'Parameter VerificationdArgCount = Wscript.Arguments.CountIf (dArgCount < MIN_ARG) Then	DisplaySyntaxEnd IfcScriptMode = MODE_INVALIDSelect Case UCase(WScript.Arguments(ARG_INDEX_MODE))	Case ADD		cScriptMode = MODE_ADD		dArgExpected = ARG_INDEX_FILENAME + 1	Case REMOVE		cScriptMode = MODE_REMOVE		dArgExpected = ARG_INDEX_MODE + 1	Case Else		cScriptMode = MODE_INVALIDEnd SelectIf (cScriptMode = MODE_INVALID Or dArgCount <> dArgExpected) Then	DisplaySyntaxEnd IfIf (cScriptMode = MODE_ADD) Then	sGrantedUser = WScript.Arguments(ARG_INDEX_USERNAME)	If (IsValidUserName(sGrantedUser) = False) Then		DisplaySyntax	End IfEnd IfCreateImportExportFilesIf (cScriptMode = MODE_ADD) Then	err.Clear		'Prepare LDAP connection.	Set objconn = CreateObject("ADODB.Connection")	Set objCommand = CreateObject("ADODB.Command")	objconn.Provider = "ADSDSOObject"	objconn.Open "ADs Provider"	If (err.number <> 0) Then		WScript.StdOut.WriteLine("Failed to bind to Active Directory server, error:" & err.Description)		objfileError.WriteLine("Failed to bind to Active Directory server, error:" & err.Description)		WScript.Quit	End If			Set rootDSE = GetObject("LDAP://rootDSE")	sDomainContainer = rootDSE.Get("defaultNamingContext")	If (err.number <> 0) Then		WScript.StdOut.WriteLine("Failed to find a Domain Container:" & err.Description)		objfileError.WriteLine("Failed to find a Domain Container:" & err.Description)		WScript.Quit	End If			Set objCommand.ActiveConnection = objconn	Do While objfileImport.AtEndOfStream <> True		fOneError = False		sUserLDAPPath = EMPTYSTRING		err.Clear		sOneRow = Trim(objfileImport.ReadLine)		If sOneRow <> EMPTYSTRING Then				    sUserLDAPPath = GetLDAPPathFromLegacyDN(sOneRow)		    If (err.number <> 0) Then			    objfileError.WriteLine("Failed to get user's LDAP path from " & sOneRow)			    fOneError = True			    err.Clear		    End If		    If (fOneError = False) Then			    Set objUser = GetObject(sUserLDAPPath)			    If (err.number <> 0) Then				    objfileError.WriteLine("Failed to get user object from " & sUserLDAPPath)				    objfileError.WriteLine("Error: " & err.Description)				    fOneError = True				    err.Clear			    End If		    End If    			    If (fOneError = False) Then			    Set objSDMailBox = objUser.MailboxRights			    Set objDACLEX = objSDMailbox.DiscretionaryAcl			    Set objSDNTsecurity = objUser.ntSecurityDescriptor			    Set objDACLNT = objSDNTsecurity.DiscretionaryAcl			    If (err.number <> 0) Then				    objfileError.WriteLine("Failed to get DACL of " & sUserLDAPPath)				    objfileError.WriteLine("Error: " & err.Description)				    fOneError = True				    err.Clear			    End If		    End If		    ' Verify Full Mailbox Access and Send As permissions.		    fFMA = False		    fSendAs = False		    AccessTypeForFMA = ADS_ACETYPE_ACCESS_ALLOWED		    AccessTypeForSendAS = ADS_ACETYPE_ACCESS_ALLOWED		    If (fOneError = False) Then			    CheckFullMailboxAccess objDACLEX, sGrantedUser, fFMA, AccessTypeForFMA			    CheckSendAs objDACLNT, sGrantedUser, fSendAs, AccessTypeForSendAS			    If (err.number <> 0) Then				    objfileError.WriteLine("Failed to Check permission of " & sUserLDAPPath)				    objfileError.WriteLine("Error: " & err.Description)				    fOneError = True				    err.Clear			    End If		    End If		    'If Send As or Full Mailbox Access permissions do not exist, add these permissions.		    If ( (AccessTypeForFMA = ADS_ACETYPE_ACCESS_DENIED) Or (AccessTypeForSendAs = ADS_ACETYPE_ACCESS_DENIED_OBJECT) ) Then			    'If Deny access is already granted, do not add permissions for this user.			    objfileError.WriteLine("Deny permission already added: " & sUserLDAPPath)			    fOneError = True		    End If    				    If ( fOneError = False And ((fFMA = False) Or (fSendAs = False)) ) Then			    fAddedFMA = False			    fAddedSendAs = False    						    If (fFMA = False) Then				    'Add Full Mailbox Access permissions.				    err.Clear				    AddAce objDACLEX, sGrantedUser, EX_FULLMAILBOX_ACCESSMASK, ADS_ACETYPE_ACCESS_ALLOWED, ADS_ACEFLAG_INHERIT_ACE, 0,0,0				    objSDMailbox.DiscretionaryAcl = objDACLEX				    objUser.MailboxRights = Array(objSDMailbox)				    If ( err.number <> 0 ) Then					    objfileError.WriteLine("Failed to add FullMailbox Access: " & sUserLDAPPath)					    objfileError.WriteLine("Error: " & err.Description)					    fOneError = True					    fAddedFMA = False					    err.Clear				    Else					    fAddedFMA = True				    End If			    End If    						    If (fSendAs = False) Then				    'Add Send As permissions.				    err.Clear				    AddAce objDACLNT, sGrantedUser, EX_MB_SEND_AS_ACCESSMASK, ADS_ACETYPE_ACCESS_ALLOWED_OBJECT, 0,1, EX_MB_SEND_AS_GUID, 0				    objSDNTsecurity.DiscretionaryAcl = objDACLNT				    objUser.Put "ntSecurityDescriptor", Array( objSDNTsecurity )				    objUser.SetOption ADS_OPTION_SECURITY_MASK, ADS_SECURITY_INFO_DACL				    If ( err.number <> 0 ) Then					    objfileError.WriteLine("Failed to add SendAs permission: " & sUserLDAPPath)					    objfileError.WriteLine("Error: " & err.Description)					    fOneError = True					    fAddedSendAs = False					    err.Clear				    Else					    fAddedSendAs = True				    End If			    End If			    If (fOneError = False ) Then 				    objUser.SetInfo				    If (err.number <> 0) Then					    objfileError.WriteLine("Failed to update user: " & sUserLDAPPath)					    objfileError.WriteLine("Error: " & err.Description)					    fOneError = True					    err.Clear						    Else					    'Update logging.					    objfileOutput.WriteLine(sUserLDAPPath & OUTPUT_DELIMITER & fAddedFMA & OUTPUT_DELIMITER & fAddedSendAs)						    End If			    End If		    End If		    Set objUser = Nothing		    Set objSDNTsecurity = Nothing		    Set objDACLNT = Nothing		    Set objDACLEX = Nothing		    Set objSDMailBox = Nothing		    If (fOneError = True) Then			    WScript.StdOut.Write("!")		    Else			    WScript.StdOut.Write(".")		    End If        End If	LoopSet rootDSE = NothingSet objCommand = NothingSet objconn = NothingEnd IfIf (cScriptMode = MODE_REMOVE) Then	'Retrieve the granted user from the first line of the import file.	sGrantedUser = objfileImport.ReadLine	If (IsValidUserName(sGrantedUser) = False) Then		WScript.StdOut.WriteLine("Invalid User in import file. please check import file..")		objfileError.WriteLine("Invalid User in import file. please check import file..")		WScript.Quit	End If		Do While objfileImport.AtEndOfStream <> True		fOneError = False		sUserLDAPPath = EMPTYSTRING		fAddedFMA = False		fAddedSendAs = False		fRemovedFMA = False		fRemovedSendAs = False		err.Clear		sOneRow = objfileImport.ReadLine		sArraySplit = Split(sOneRow, OUTPUT_DELIMITER)		'The first column is the LDAP path.		sUserLDAPPath = sArraySplit(0)		'The second column is Full Mailbox Access permissions.		fAddedFMA = sArraySplit(1)		'The third column is Send As permissions.		fAddedSendAs = sArraySplit(2)		Set objUser = GetObject(sUserLDAPPath)		If (err.number <> 0) Then			objfileError.WriteLine("Failed to get user object from " & sUserLDAPPath)			objfileError.WriteLine("Error: " & err.Description)			fOneError = True			err.Clear		End If				If ((fOneError = False) And (fAddedFMA = "True")) Then					Set objSDMailBox = objUser.MailboxRights			Set objDACLEX = objSDMailbox.DiscretionaryAcl			fRemovedFMA = RemoveFullMailboxAccess(objDACLEX, sGrantedUser)			If (err.number <> 0) Then				objfileError.WriteLine("Failed to Remove Full MailboxAccess from " & sUserLDAPPath)				objfileError.WriteLine("Error: " & err.Description)				fOneError = True				err.Clear			End If						If (fRemovedFMA = False) Then				objfileError.WriteLine("Couldn't find Full mailbox access permission on " & sUserLDAPPath)			End If						If ((fOneError = False) And (fRemovedFMA = True)) Then				objSDMailbox.DiscretionaryAcl = objDACLEX				objUser.MailboxRights = Array(objSDMailbox)			End If		End If		If ((fOneError = False) And (fAddedSendAs = "True")) Then					Set objSDNTsecurity = objUser.ntSecurityDescriptor			Set objDACLNT = objSDNTsecurity.DiscretionaryAcl			fRemovedSendAs = RemoveSendAs(objDACLNT, sGrantedUser)			If (err.number <> 0) Then				objfileError.WriteLine("Failed to Remove SendAs from " & sUserLDAPPath)				objfileError.WriteLine("Error: " & err.Description)				fOneError = True				err.Clear			End If			If (fRemovedSendAs = False) Then				objfileError.WriteLine("Couldn't find SendAs permission on " & sUserLDAPPath)			End If						If ((fOneError = False) And (fRemovedSendAs = True)) Then				objSDNTsecurity.DiscretionaryAcl = objDACLNT				objUser.Put "ntSecurityDescriptor", Array( objSDNTsecurity )				objUser.SetOption ADS_OPTION_SECURITY_MASK, ADS_SECURITY_INFO_DACL			End If		End If		If ((fOneError = False) And (fRemovedFMA Or fRemovedSendAs)) Then			objUser.SetInfo			If (err.number <> 0) Then				objfileError.WriteLine("Failed to update ADSI for user: " & sUserLDAPPath)				objfileError.WriteLine("Error: " & err.Description)				fOneError = True				err.Clear					Else 				If ( fRemovedFMA Or fRemovedSendAs ) Then					'Update logging.					objfileError.WriteLine("Removed Permission from " & sUserLDAPPath & OUTPUT_DELIMITER & fRemovedFMA & OUTPUT_DELIMITER & fRemovedSendAs)				End If			End If		End If		If (fOneError = True) Then			WScript.StdOut.Write("!")		Else			WScript.StdOut.Write(".")		End If	LoopEnd IfCloseImportexportFilesFunction IsValidUserName (sUserName)	Dim dPosition	dPosition = InStr(1, sUserName, "\")	If (dPosition = 0 ) Then		IsValidUserName = False		objfileError.WriteLine("Invalid User:" & sUserName)	Else		IsValidUserName = True	End IfEnd FunctionFunction CheckSendAs (objNTSD, sUser, fSendAs, AccessType)	Dim intACECount	Dim objACE		err.Clear	fSendAs = False	AccessType = ADS_ACETYPE_ACCESS_ALLOWED	intACECount = objNTSD.AceCount	If intACECount Then		For Each objACE In objNTSD			err.Clear			If ( (UCase(objACE.Trustee) = UCase(sUser)) And (objACE.ObjectType = EX_MB_SEND_AS_GUID) ) Then				fSendAs = True				AccessType = objACE.AceType			End If		Next	End If		If (err.number <> 0) Then		objfileError.WriteLine("Check SendAs permissions Failed : " & sUser)		objfileError.WriteLine("Error: " & err.Description)		err.Clear		fOneError = True	End If	Set objACE = NothingEnd FunctionFunction CheckFullMailboxAccess (objACL, sUser, fFoundFMA, AccessType)	Dim intACECount	Dim objACE	err.Clear	fFoundFMA = False	AccessType = ADS_ACETYPE_ACCESS_ALLOWED	intACECount = objACL.AceCount	If intACECount Then		For Each objACE In objACL			If ( (UCase(objACE.Trustee) = UCase(sUser)) And ((objACE.AccessMask And EX_FULLMAILBOX_ACCESSMASK) <> 0)) Then				fFoundFMA = True				AccessType = objACE.AceType			End If		Next	End If	If (err.number <> 0) Then		objfileError.WriteLine("Check FullMailbox permissions Failed : " & sUser)		objfileError.WriteLine("Error: " & err.Description)		err.Clear		fOneError = True	End If	Set ObjACE = NothingEnd FunctionFunction RemoveSendAs (objNTSD, sUser)	Dim intACECount	Dim objACE	Dim fFound		fFound = False	intACECount = objNTSD.AceCount		If intACECount Then		For Each objACE In objNTSD			If ((UCase(objACE.Trustee) = UCase(sUser)) And (objACE.ObjectType = EX_MB_SEND_AS_GUID) ) Then				objNTSD.RemoveAce objACE				fFound = True			End If		Next	End If	RemoveSendAs = fFound		End FunctionFunction RemoveFullMailboxAccess (objACL, sUser)	Dim intACECount	Dim objACE	Dim fFound		fFound = False	intACECount = objACL.AceCount		If intACECount Then		For Each objACE In objACL			If((0 <> Instr(UCase(objACE.Trustee), UCase(sUser))) And (objACE.AccessMask And EX_FULLMAILBOX_ACCESSMASK) <> 0) Then				objACE.AccessMask = (objACE.AccessMask Xor EX_FULLMAILBOX_ACCESSMASK)				fFound = True			End If		Next	End If	RemoveFullMailboxAccess = fFound		End FunctionFunction GetLDAPPathFromLegacyDN (sLegacyDN)	Dim rsUsers	Dim sLdapPath		objCommand.CommandText = "<GC://" & sDomainContainer & ">;(&(&(& (mailnickname=*) (| (&(objectCategory=person)(objectClass=user)(legacyExchangeDN=" & sLegacyDN & ")) ))));adspath;subtree"	objCommand.Properties("searchscope") = ADS_SCOPE_SUBTREE	objCommand.Properties("Page Size") = 10	objCommand.Properties("Timeout") = 30 	objCommand.Properties("Chase referrals") = (ADS_CHASE_REFERRALS_SUBORDINATE Or ADS_CHASE_REFERRALS_EXTERNAL)	err.Clear		Set rsUsers = objCommand.Execute	If (err.number <> 0) Then		objfileError.WriteLine("Search for mailbox owners failed, error:" & err.Description)		fOneError = True	End If		If (rsUsers.RecordCount = 0) Then		objfileError.WriteLine("No mailbox owner user accounts found for " & sLegacyDN & " in " & sDomainContainer & ".")		fOneError = True			End If	If (rsUsers.RecordCount > 1) Then		objfileError.WriteLine("Multiple mailboxs owner user accounts found for " & sLegacyDN & " in " & sDomainContainer & ".")		fOneError = True			End If	sLdapPath = Replace(rsUsers.Fields(0).Value, "GC://", "LDAP://")		GetLDAPPathFromLegacyDN = sLdapPath	Set rsUsers = NothingEnd FunctionFunction CloseImportexportFiles	objfileError.WriteLine("*******************************************************")	objfileError.WriteLine("End at " & Date & " " & Time)	objfileError.WriteLine("*******************************************************")	objFSO.Close	objfileError.Close	objfileOutput.Close	objfileImport.Close		Set objFSO = Nothing	Set objfileError = Nothing	Set objfileOutput = Nothing	Set objfileImport = NothingEnd FunctionFunction CreateImportExportFiles	Dim sErrorsFileName	Dim sImportFileName	Dim sOutputFileName	err.Clear	Set objFSO = CreateObject("Scripting.FileSystemObject")	sErrorsFileName = ERROR_FILENAME	sImportFileName = EMPTYSTRING	sOutputFileName = EMPTYSTRING	Select Case cScriptMode		Case MODE_ADD			sImportFileName = WScript.Arguments(ARG_INDEX_FILENAME)			sOutputFileName = OUTPUT_FILENAME		Case MODE_REMOVE			sImportFileName = OUTPUT_FILENAME 'Use the output file name as the import file.			sOutputFileName = EMPTYSTRING			Case Else			DisplaySyntax	End Select	Set objfileError = objFSO.OpenTextFile(sErrorsFileName, ForAppending, True, TristateTrue)	objfileError.WriteLine("*******************************************************")	objfileError.WriteLine("Start at " & Date & " " & Time)	objfileError.WriteLine("*******************************************************")	If (cScriptMode = MODE_REMOVE) Then		Set objfileImport = objFSO.OpenTextFile(sImportFileName, ForReading, False, TristateTrue)	Else		Set objfileImport = objFSO.OpenTextFile(sImportFileName, ForReading, False, TristateFalse)	End If	If (sOutputFileName <> EMPTYSTRING) Then		'Determine whether the output file already exists.		If (objFSO.FileExists(sOutputFileName)) Then			Set objfileOutput = objFSO.OpenTextFile(sOutputFileName, ForReading, False, TristateTrue)			sOneRow = objfileOutput.ReadLine			'If the user name in the file differs from the parameter, the process cannot continue.			If ( sOneRow <> sGrantedUser ) Then				WScript.StdOut.WriteLine("The Domain\User must be the same as " & sOneRow )				WScript.Quit			End If			Set objfileOutput = objFSO.OpenTextFile(sOutputFileName, ForAppending, True, TristateTrue)		Else			Set objfileOutput = objFSO.OpenTextFile(sOutputFileName, ForWriting, True, TristateTrue)			'The first line of the log file is the user who is granted the permissions.			objfileOutput.WriteLine(sGrantedUser)		End If	End If		If (err.number <> 0) Then		WScript.StdOut.WriteLine("Failed to open Log file, error:" & err.Description)		WScript.Quit	End IfEnd FunctionFunction AddAce(dacl, TrusteeName, gAccessMask, gAceType, gAceFlags, gFlags, gObjectType, gInheritedObjectType)	Dim Ace1		Set Ace1 = CreateObject("AccessControlEntry")	Ace1.AccessMask = gAccessMask	Ace1.AceType = gAceType	Ace1.AceFlags = gAceFlags	Ace1.Flags = gFlags	Ace1.Trustee = TrusteeName	'Determine whether ObjectType has to be set.	If CStr(gObjectType) <> "0" Then		Ace1.ObjectType = gObjectType	End If	'Determine whether InheritedObjectType has to be set.	If CStr(gInheritedObjectType) <> "0" Then		Ace1.InheritedObjectType = gInheritedObjectType	End If	dacl.AddAce Ace1    Set Ace1 = NothingEnd FunctionFunction DisplaySyntax	WScript.StdOut.WriteLine("Syntax:")	WScript.StdOut.WriteLine()	WScript.StdOut.WriteLine("Grant Full mailbox access and SendAs permission to USER based on IMPORT_FILE:")	WScript.StdOut.WriteLine("    CSCRIPT " & WScript.ScriptName & " -Add DOMAIN\USER IMPORT_FILE")	WScript.StdOut.WriteLine("    NOTE: """ & OUTPUT_FILENAME & """ will be created for -Remove option ")	WScript.StdOut.WriteLine()	WScript.StdOut.WriteLine("Remove Full mailbox access and SendAs permission based on " & OUTPUT_FILENAME & ":")	WScript.StdOut.WriteLine("    CSCRIPT """ & WScript.ScriptName & """ -Remove ")	WScript.StdOut.WriteLine()	WScript.StdOut.WriteLine("For all modes, errors are saved to " & ERROR_FILENAME )	WScript.Quit	End Function

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 941018 - 마지막 검토: 12/22/2014 22:42:00 - 수정: 2.0

Microsoft Exchange Server 2007 Enterprise Edition, Microsoft Exchange Server 2007 Standard Edition, Microsoft Exchange Server 2003 Enterprise Edition, Microsoft Exchange Server 2003 Standard Edition, Microsoft Exchange 2000 Enterprise Server, Microsoft Exchange 2000 Server Standard Edition

  • kbhowto kbinfo kbmt KB941018 KbMtko
피드백