Exchange ????? ?? ??? ??? ?????? ??? ??? ???????? ???? ?? ??? ??????? Exchange ?????? ????? ?? ????? ????

???? ?????? ???? ??????
???? ID: 930879 - ?? ???????? ?? ?????? ??? ?? ?? ???? ???? ???? ??.
???????????? Microsoft ???????? ???? ??? ?????? ?????? 941018 Microsoft ???????? ???? ??? ?????? ?????? ?????? ???? ??? ???? ??? ??? ?? ????????? ???? ?? ??? ?? Windows ??? ?????? ??? ???? ????, 941018 Microsoft ???????? ???? ??? ?????? ?????? ??????? ????? ???? ?? Microsoft ???????? ???? ??? ???? ?? 941018 Microsoft ???????? ???? ??? ?????? ?????? ?? ??????? ???? ?? ???? ?????? ?? ??????? ???? ???? ?? ??? ???? ???

???? ??????? ?? ???, Microsoft ?????? ??? ??? ???? ????? ?? ??? ????? ???? ?????? ????? ????::
941018Exchange ??????? ?????? ????? ?? ????? ???? ?????? ??? ??? ?? ??? ???? ????
??? ?? ??????? ???? | ??? ?? ??????? ????

?? ????? ??

?????

?????? ??? ??? ?? ?? ?????? ???? ahead ?????? ?? ?? ?? sunrise ?? ????????? ?? ?? ??? ??? ?? ????? ?????? ???????? ?????? evening ??? ??? ?? ????? ???? ?????? ??? ???, ?? ?????? ??????? ?????? ?? ?? ?? ???? ???? ?? ?? ?????? ???? ?? ??? regulations ???? ????? ?? ??? ??? ?????? ?????? ??? ??? (?????? ????? DST ?? ??? ???) ?? ???? ?? ??? ???? ????????? ?? ???? ??, ?? ?????????? ?????? ?????? ???? ?? ??? Microsoft Office Outlook ??????? ???? ?? ??? ?? ?? ?? DST ????? ?? ???? ????????? ????? ????? DST ?????? ?? ??????? DST ?????? ?? ??? ?????? ??? ???????? ???? ?? ??? ?? ???? ??? "????????? DST ????." ?? ??? ???

?? ???? focuses ??? ??????? ?????? Microsoft Outlook ??? ?? ????????? DST ???? ?? ????? ??????? ???? ?? ??? ?? ?? ???? ??? ?? ???????? ?? ???

???? ???? ?? ???? ??? ???? ??????? ?? ??? Microsoft ?????? ?? ???????? ????? ???? ?? ??? ?????? ??? ??? ??? ???????? ???? ?? ??? 2007 (DST 2007) ??? ??? ?? ???, ????? Microsoft ??? ???? ?? ????:
HTTP://www.Microsoft.com/DST2007
?? ???? ?? ?????? ???? ?? ??? ???? ???? ????? ?? focuses ???? ?? DST ?????? ?? ?????? Microsoft Exchange ????? ??? ???????? calendar. ?????? ?? ?? ?? ???? ??? ???????? ?? ?? involves Exchange ??????? ?????? ????? (? Exchange ????? ?) ??? Exchange ????? ?????? ??? ???? ???? ?????? ????? ?? Microsoft Office Outlook (? Outlook ????? ?) ?? ????
Outlook ????? ?? ???? ??? ???? ??????? ?? ??? Microsoft ???????? ??? ???? ????? ?? ??? ????? ???? ?????? ?? ????? ????:
931667Microsoft Office Outlook ?? ??? ??? ???? ???? ?????? ????? ?? ????? ???? ?????? ??? ??? ?? ???????? 2007 ??? ??? ???? ?? ??? ???? ????

Exchange ????? ?? ???? ???

?? ?? Microsoft Windows ?? ??? DST ???????? ?? ??????? ????, ??? ?????? ?????????? DST ???????? ??????? ?? ????? ?? ?? ????????? ???? ????? ??? ??? ?? ?? ???? ??? ??? ??????? ?? ??? ?? ??? ???? ?? ?????????? ?????????? ?? ????? ??-?????? ?? ??? ??? ??? ?? ?????????? ?????? ???? ???? ?? ?? ????????? ???? ????? ??? ??? ?? Outlook, Outlook Web Access ???, ?? CDO-?????? ????????? ????

Outlook ?? ????? ?? ?? Microsoft Office Outlook ?? ??? ??? ???? ???? ?????? ????? ?? ??? ?? ?? ?????? ????? ??? ?? ????? ???????????? ?? ???? ??????? ?? ?????? ???? ?? ??? ????? ???? ???

???:Microsoft Office Outlook 2007 ???, ??? ???? ???? ?????? ????? ????? ??? ??? ??, ?? ??????? ???? ??? ?? ?? ??? ???? ???? ?????? ????? ?? ?????????? ??????? ?? ????? ?????
931667Microsoft Office Outlook ?? ??? ??? ???? ???? ?????? ????? ?? ????? ???? ?????? ??? ??? ?? ???????? 2007 ??? ??? ???? ?? ??? ???? ????
Exchange ??????? ?????? ????? ("Exchange ?????") ??? ?? ?? ?????? Outlook ????? widely ??? ???????????? ?? ??? ????? ??? ?? challenges ?? ???? ?? ??? ????? ???? ?? ?? ???? ?? ????????? ???? ?? ???????? ?????????? ????? ?? ????? ??? ???? ?? ??? ????? ???? ???

Exchange ????? ?? HIGH-level ?????

Exchange ????? ?? ??? ???????? ????? ??????? ?? ????? ??? ???? ??? ?? ??????? ????? ?????? ??? ????? ???? ??? ????
?? ?????? ?? ??????? ?????? ?????? ?? ??????? ????
????? ????????:
Msextmz.exe???????? ????? ????????? ?? ??? ???? ????? ?? ?? Exchange Server ??? ??? ???? ????? ?? ?????????? ?? ??????? ??? ?? ???????? ????? ????????? ?? ?????? ???????????? ?? ???? ????????? ???? ?? ??? ???????? ??????? Outlook invoking ?????? ???????? ????????? ?????????? ?? ??? ??????
Msextmzcfg.exe?? ???????? ????? ????????? ??? ???? Exchange Server ????? ?????? ??? ????? ??? ?? ????? ?? ??????? ???? ?? ?? ???????????? ????? ???

Exchange ????? ?? ??????? 2

Exchange ??????? ?????? ????? ?? ??????? 2 21 ?????, 2007 ?? ???? ???? ??? ??? ?? ???? Exchange ????? ?? ??????? 2 ?? ???????? ???? ??? ??? ?? Exchange ????? ?? ??????? 1 ??? ??? ???, ?? ???? ??????? ???? ???? ?? ??????? 2 ?? ??????? ????? Exchange ????? ?? ??????? 2 ????? ????? ????? ???? ??:
  • ??????? 2 ??? ??????????? ??????? 1 ?? ??? ??? ????? ?? ??? ??? ?? ??? ?? ?? ?? ????? ?????? ??? ??? ????? ????
  • ?????????? ???????? ????? ???? ???
  • ?????? ????? ??? ???????? ???? ?? ??? ?????? ??????? ???????? ?? ??? ???? ??? ???
  • ????? ?????????? ???????? ?????? ??? ???? ?? ??? ?????? ?? ??? ????????? ?? ??? ???? ?? ??? ????? ???

????? ?? Exchange ????? ?? ????? ?? ??????

Exchange ????? ????? ?? ???? ?? ????? ???? ?? ??? ?? ???????? ???? ????? ?????? ?? ????????, ???? ?? ???? ??????? ???????? ?? ???? ???? ???? ?????? ??, ?? ???????????? ?? ???? mitigation ????????? ???
?? ?????? ?? ??????? ?????? ?????? ?? ??????? ????
???????????Mitigation
?????? ?????? ?? ???? ???????? ?? ??????? ??????????? decreased ??????? ????? ?? ??????? ?? ???????? ?? ?????? ?? ???? ?? ?????????? ?? ??? ???? ??? ?? ?????? ???? ?? ????????? ????? ??? ??? disruptive ??, ?? ????? ????? off-peak ????? ?? ????? ?? ??????? ?????? ????? ?? ??????
????? ????? ?? ??? ???? ???? ???? ?????? MSXTMZ.exe ?? ???????? ??? ?? ?? ????? ??? ??? ????? ?????? thousand ?? ???????????? ?? ??? ?? ?? ??? ???, Exchange ????? ?? ???? ?? ???? hours ?? ?????: days ?????? ???? ?? ??????? ?????????? ?? ??? ?????? ????????? ?? ??? ?? ??? batches ??? ???????????? ?? ??????? ????, ?? ?? ???? ????? ???????? ?? ?? ??? ???????? MSXTMZ.exe ?? ?? ????? ?? ???????????? ?? ???????? ??? ???????

?????????? ?? ?????? ???? ?? ??? ??????

????? ?????? DST 2007 ??? ???? ?????? ?? ????? ???? ?? ??? ?????????? ?????????? ?? ?????? ???? ?? ??? ????? ???? ?? ???? ?? ???? ???????? ?? ???? ???? ???? ???
?? ?????? ?? ??????? ?????? ?????? ?? ??????? ????
??????ProsCons
???????? ?????????? ?? ??? Outlook ????? ?????? ????, ?? ?? ???? ?????????? ?? ?????? ???? ?? ??? ?????????? instruct.?? ?????? avoids ????? ?? Exchange ????? ?? ????? ?? ?????? ????? ?????? ?? ?? ??? ?????????? ????? Outlook ????? ??? ??? ?? ?? ????? ??? ?? ???? ???? ??? Outlook ???? ??? ???? ???? ???? ???????????? ?? Outlook ????? ?? ????? ??? ?????? ?? ?????? ??? ???????? ?????? ?? ?????? ?? ???????????? ?? ??? confusion lessen ???? ?? ??? ?????? ???
??? ???????? ???????????? ?? ????? ?? Exchange ????? ???????? ?????? ???????????? ?? ??? ??? ??????????? ????? ?????? ???? ???????? ?????? ??? ???? ?????? Exchange ????? ????? ?? ??????? ???????? ????
Exchange ????? ?? ?????? ???? ?????????? ?????????? ?? ?????? ?????????? Outlook ????? ?? ????? ?? ???? ?????????? ??? ?? ??????? ?????????? ?? ?????? ???? ?????? ?? ????? ??? ??? ?? ?????? ?? ?? ??? ?? ??????? ?????????? ?? ????? ???Outlook ????? cons Exchange ????? ?? ????? ?? ??? ??????? ??? ????? ?? cons.
? ? Exchange ????? ?? Outlook ????? ?? ?????? ???????????? ?? ???? ??????? ?? ????????????? re-book ???????????? ?? ??????? ???? ?? ??? ??????? ?????? avoids Exchange ????? ?? ????? ?? ?????? ?????? ???????????? ?? ???????? ??? ?????????? re-book, ?? ?? ?? ??? ??????? ?????? ???? ?? ???? ??? ????????? DST ???? ?? ?????? ??? ???????? ?????? ?? ?????? ?? ???????????? ?? ??? confusion lessen ???? ?? ??? ?????? ???
???????? ?????????? ?? ??? Outlook ????? ?????? ????, ?? ?? ???? ?????????? ?? ?????? ???? ?? ??? ?????????? instruct. ????????? ???? ?? ???? ?????????? Outlook ????? ??? ??? ???, ?? Exchange ????? ?? ??? ??????? ??????? ??? ?? ????? ????? ??? ?????????? Outlook ????? ???? ??? ??? ???, ?? ?????????? Exchange ????? ????? ?? ???? ?????? ?????? ????? ??? ?? ????? ?? ???? ??? ??? ?????????? ?? ????? ?? ?? ???? ??, ?? Exchange ????? ?? ???????? ?? avoids ???????? ?????? ???? ?? ??? ??? ?????????? Outlook 2007 ?? ??? ??? ????

Exchange ????? ??????? ???? ?? ??? ???? ????

Exchange ??????? ?????? ????? self-extracting ???????? ????? ????? Msextmz.exe ?? ??? ??? ?????? ???

??????? ?? ???, ?? ??? ??????? ?????????? ??? ??????? ????? ??????? ?? ????? ???? ?????:
  • Msextmz.exe
  • Msextmzcfg.exe
  • Msextmz.ini

    ?? ????? ?? Msextmz.exe ?????? ????? ?? ?? ??? ???????? ????????? ??????. ini ????? ???
  • Msextmzcfg.XML

    ?? ????? ?? Outlook, CDO ?? Outlook Web Access ??? ???? ???????? ?????? ??? ???? ?? ??? ??? ??? ???? ?????? ????? ???
Exchange ??????? ?????? ????? ?? ?????? ??????? ?? ???? ??? ???? ??????? ?? ??? Microsoft ???????? ??? ???? ????? ?? ??? ????? ???? ?????? ?? ????? ????:
941018Exchange ??????? ?????? ????? ?? ????? ???? ?????? ??? ??? ?? ??? ???? ????

Exchange ????? ?????? ??????? ??????

Exchange ????? ???? ????????? ??? ?????? ??? ????? ???? ?? ????????? (????) ???????? ?? ??????

??????? Exchange Server ?? ?? Exchange ????? ?? ???? ??

Exchange ????? ?? Exchange Server ?? ????? ????????? ?? ?????????? ?? ?????? ?? ???? ???:
  • Microsoft Exchange Server 2007 ??????????? ???????
  • Microsoft Exchange Server 2007
  • Microsoft Exchange Server 2007 Standard Edition
  • Microsoft Exchange Server 2003
  • Microsoft Exchange Server 2003 ??????????? ???????
  • Microsoft Exchange 2000 Server
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange 2000 Server ??????????? ???????
  • Microsoft Exchange 2000 Server ???? ???????

Exchange ????? ?????? ??????? ???????? ????????

Exchange ????? ?? ????? ???????? ???????? ?? ?????:
  • Microsoft Windows Server 2003
  • Microsoft Windows XP
  • Microsoft Windows 2000
Windows Vista ??????? ???? ???

What to do before you run the Exchange tool

Install updates

Before you run the Exchange tool, make sure that client and server computers are updated correctly with the following updates:
  1. Install the Windows daylight saving time update on client and server computers.For more information about how to update a computer that is running Windows operating system software, click the following article number to view the article in the Microsoft Knowledge Base:
    942763December 2007 cumulative time zone update for Microsoft Windows operating systems
  2. For Exchange 2003 SP2, install the following update that is relevant to your organization:
    • 911829You receive an error message when you try to perform any editing tasks, or you must click to enable the compose frame in Outlook Web Access
    • 924334The Compose Message form stops responding after you install Internet Explorer 7.0 and the S/MIME control on an Outlook Web Access client in Exchange Server 2003
    ???:This step can be completed at the same time as step 1.

Verify the system requirements

The Exchange tool must be run on a computer that has Microsoft Office Outlook 2003 or Microsoft Office Outlook 2007 installed, and that has the Outlook Time Zone Data Tool installed. Additionally, Microsoft .NET Framework Version 2.0 must be installed on the client computer.

Outlook and the Zone Data Update Tool for Microsoft Office Outlook are not part of the Exchange tool download package. They have to be installed separately.

???:Do not confuse the Outlook tool installer package that is named Tzmove.exe with the actual Outlook tool executable file that is also named Tzmove.exe.

To run the Exchange tool successfully, the computer must not have the PickLogonProfile registry value set. Alternatively, this registry value must be set to 0. To determine whether this registry value exists, follow these steps.

???????????? ???, ????, ?? ????? ?? ????????? ?? ??????? ???? ?? ??? ????? ????? ??? ???? ???????, ??? ?? ????????? ?? ??? ??? ?? ??????? ???? ??? ?? ????? ???????? ??????? ?? ???? ???.. ?????, ????????? ???? ?? ?? ?? ????? ?? ??????????? ???? ???? ???.. ?????? ??????? ?? ???, ????????? ?? ??????? ???? ?? ???? ???? ??? ?? ???.. ???, ??? ??? ?????? ??????? ???? ?? ?? ?? ????????? ?? ???????????? ?? ???? ???.. ????????? ?? ??? ?? ???? ?? ???????????? ???? ?? ????? ?? ???? ??? ???? ??????? ?? ???, Microsoft ?????? ??? ??? ???? ????? ?? ??? ????? ???? ?????? ????? ????::
322756??? ?? ???? ?? Windows ??? ????????? ?? ???????????? ???? ????
  1. ????? ????,???????????? ????,???????????:regedit?? ????-????? ????, ?? ???? ???OK.
  2. Expand the following subkey:
    HKEY_CURRENT_USER\Software\Microsoft\Exchange\client\options\
  3. ????? ????,??????, and then determine whether thePickLogonProfilevalue exists. ???PickLogonProfilevalue exists and is set to 1, set the value to 0. ??? ???? ?? ???, ????? ????? ?? ???? ????::
    1. ????-????? ????PickLogonProfile?? ????-????? ????, ?? ???? ?????????? ????.
    2. ???????? ????????? ???,0?? ????-????? ????, ?? ???? ???OK.
The Exchange tool cannot be run on a computer that is running Exchange Server or the Exchange System Management tools. If you try to install the Exchange tool on a computer that is running Exchange Server or the Exchange System Management tools, you receive the following error message:
Microsoft Exchange Calendar Update Tool cannot be installed with Microsoft Exchange.

How to manually configure and run Msextmz.exe

Configure the Msextmz.ini file

The Msextmz.ini file must be configured correctly for Msextmz.exe to run correctly. We recommend that you read the comments in the Msextmz.ini file carefully before you modify the Msextmz.ini file.

Specify the Msextmz.exe execution mode

Msextmz.exe runs in two modes. To specify the mode of execution, specific parameters have to be set in the Msextmz.ini file. The following list describes the three modes and describes how to configure the modes in the Msextmz.ini file.
  • Time Zone Extraction

    In this mode, Msextmz.exe extracts time zone information from each mailbox by reading a set of MAPI properties.

    Msextmz.exe can examine recurring appointments that are organized by the user in the user?s calendar and then try to determine a time zone for the user. However, this option is resource-intensive. By default, therefore, this option is not enabled. To enable this option, set theReadCalendarTimezonesparameter in the Msextmz.ini file.

    Msextmz.exe records the time zone information for each user in an output file that contains a list of mailbox legacy DNs. Each mailbox legacy DN has the following types of time zone values:
    • Outlook Web Access Time Zone
    • CDO Time Zone
    • Outlook Time Zone
    • Recurring Meeting Time Zone
    The format of the file uses the following format:
    User_DN<\tab></\tab>CDO_Time_Zone<\tab></\tab>Outlook Web Access_Time_Zone<\tab></\tab>Outlook_Time_Zone<\tab></\tab>Recurring_Meeting_Time_Zone<\crlf></\crlf>
    If Msextmz.exe cannot extract time zone information for any of the four types of time zones, the mailbox legacy DN will be logged in the error file.

    To map the user to only one time zone, you must import the output file to Microsoft Excel. In Excel, filter the list of users according to one of the time zones. The time zone that you use depends on your environment.

    For example, if most users use BlackBerry devices, Exchange 5.5 Outlook Web Access,or other CDO-based solutions, filter the list by CDO Time Zone. If most users use Exchange Outlook Web Access, filter the list by Outlook Web Access Time Zone. If most users do not fit into one of these scenarios, filter the list by Recurring Meeting Time Zone.

    To run the tool in Time Zone Extraction mode, configure the .ini file as follows:
    • Leave the CommandLine parameter uncommented.
    • Set the OutputFile parameter.
    • Set the ErrorFile parameter.
    • Set the ServerDN parameter.
    • Set the Profile parameter.
    • Set the LogFile parameter.
    • ExportTimezones ???????? 1 ?? ??? ??? ?????
    • ????????. ini ????? ??? ??? ??? ???? ??????? ?????
  • ??????

    ?? ??? ??? Msextmz.exe ????? ????? ??? ????????? ??? ?????????? ?? ?????? ?????? ????? ????? ?? ????? ?????? ??? ???? ?????:
    User_DN<\tab></\tab>Server_Friendly_Name<\tab></\tab>OS_Time Zone_Registry_Key<\crlf></\crlf>
    ?? ??????? ?? Msextmz.exe ?? ???? ?? ???????? ?? ???? ??? ???????, Msextmz.exe ????? ?? ???? ??? ?? ?? ?? ???? ??????? ?? ?? ?? ??? ????

    ?? ??? ??? Msextmz.exe ?? ????? ?? ??? ???????? ???? ???? Msextmz.ini ???? ?? ??? ???:
    • ????????? ???? ?? CommandLine ???????? uncommented ?? ?? Tzmove.exe ?? ??? ????? ?? ????? ???? ???
    • InputFile ???????? ??? ?????
    • ???? OutputFile ???????? ??????? ?????
    • ErrorFile ???????? ??? ?????
    • ServerDN ???????? ??? ?????
    • LogFile ???????? ??? ?????
    • LogDirectory ???????? ??? ?????
    • ???? ExportTimezones ???????? ??????? ?????
    • Uncomment ???????? ??? ???
    ?????? ??? ???, Msextmz.exe ??????? ?? ???? ?????? ??????? Exchange ?? ?????????? ????? ???? ???? ?????? . Ini ?????? ?? ?? Exchange DN ???? ?? ???????? ?????? ?? ?????? ???, ???? ??? ???? ?? Exchange ?? DN ????? ?? ????????? ???? ?? ??? ????? Exchange ?????? ????

    ???? ?????????? ?????????? ?? ?????? ???? ?? ??? ????? ??? ?? ??? CommandLine ???????? ???????? ????:
    tzmove.exe /q /onlyrecurring
    ?????????? ?? ????? ??-??????? ?????????? ?? ?????? ???? ?? ??? ??????? CommandLine ??? ?? ????? ?????

Msextmz.exe ?? ??? ????????? ?? ???????? ????

Msextmz.exe ????? ?? ??? ?????? ????????? ???????? ??? ?? ????? ???? ???? ?? ?? ?? ?????? ???? ???? ????? ?????? ???????? ???????? ??? ?? ??? ?????? ????????? ?? ???? ???? ???? ???
?? ?????? ?? ??????? ?????? ?????? ?? ??????? ????
???????? ????????????
??? ???? ???????Exchange ?????????? ???? ?????
Msextmz.exe ??? ??? ???????? ?? ??????? ??????????
????????? ?????????? ?? ??? ????? ???????? ????? ?? ?? ??? ??? ????? ?????? ??????? ????? ??????????
Msextmz.exe ??? ??? ???????? ?? ??????? ??????????

"?????? ???? ????????" ?????????

?? ??? ????? ?????????? ????? ???????? ????? ?? ?? ??? ??? ????? ?????? ???? ?? ??? ??? ?????????? ???? GrantMailboxPermission.vbs ????? ????????? ?? ????? ?? ???? ???

?? ????????? ???? Exchange ?????????? ?????? Exchange 2000 Server ?? Exchange Server 2003 ??? ??? ???????? ?? ????? ?? ???? ??? ?? ????????? Exchange Server 2007 ??? ??? ???????? ?? ???? ????? ?? ????? ???????, ???? ?????? ?????? ???? Exchange ??????? ??? ?? ????? ?? ?????

??? VBS ????????? ?? ??? "??????" ??? ??? ?????? ???? ?? ??? ????? ?????? ?? ????????? ?? ???? ?? ??? ?? ????? ???? ???
?? ?????? ?? ??????? ?????? ?????? ?? ??????? ????
??????? ???????????:
addCScript GrantMailboxPermission.vbs ?addDomain_Name\User_NameFile_NameGrantsDomain_Name\User_Name????? ???????? ????? ?? ?? ??? ??? ????? ?????? ?????????? ?????????? ????? ???? ??? ???????? ???? ?? ???? ????? ????? ?? ??? ????? ?????? CRLF ?????? ???????? ?????????? ?????????? ?? ????? ?????? ???? ?????? ???

????????? GrantMailboxPermission.log ????? ????? ??? ?? ????? ?? ??????? ??? ?? ?? ?? ?????????? ?? ??????? ??? ??? ????? ?? ???? ?????? ??Domain_Name\User_Name?????????? ????? ?? ?????? ?? ??? ?? ????? ?? ? ?????? ?? ????? ?? ??????? ??? ??? ????? ???? ???? ???

??? ??? ?????? "??????????" ????? ?????????? ?? ????? ???? ???, ?? ????????? ??? ??????? ??? ??? ????? ??? "GrantMailboxPermission.err." ????????? ????? ???? ???? ?? ?????? ??????

??? ?????????? ?? ????? ???? ??? "??????????" ????? ??????? ???? ?? ?? ??? ??, ?? ????????? ????? ???????? ????? ?? ?? ??? ??? ????? ?????? ?? ???? ??? ???????, ?????????? ???????? ?? ??? ??? ?? ???? ??? ?????? ?? ?????? ??? ????????? GrantMailboxPermission.err ????? ??? ??? ?? ???? ?????
?????CScript GrantMailboxPermission.vbs ?remove?????????? ?? GrantMailboxPermission.log ????? ??? ???????? ???? ?? ??? ????? ???????? ????? ?? ?? ??? ??? ????? ?????? ??????? ??Domain_Name\User_Name. TheDomain_Name\User_Nameis specified in the GrantMailboxPermission.log file.
???:When you run this script on the computer that is running Exchange Server, the script returns a period (.) when the script successfully processes a user. The script returns an exclamation point (!) if it does not successfully process a user.

???:The output file of the Time Zone Extraction mode cannot be used as an input file for this script. ????? ?? ??? ?? ????????? ?? ??? ????? ????, ?? ?? ???? ??? ??? ??????? ??????? ?????? ????? ?? ??????? ?? Notepad ??? ???????, ??????? ?? ???? ?? ???????? ?? ??? ??? ??????, ?? ????? ???? ?? ??? ??? ?? ???????? ?? ????? ?????

???? ?????? ?????? ??? ??? ?????

Outlook ??? ???? ???? ?????? ????? ?? ??? ????

?? Outlook ????? ??, ?? ????? temp ?????????? ??? ??? ??? ????? ??? ???? ??? ?? ????? ??? "Outlook ??? ??????? Update.log." Msextmz.exe "Outlook ??? ??????? Update.log" ?? ??????? ?? ??????? ??, ?? ???? ??? ????? ?????-?????????? ??? ???????. ini ????? ?? LogDirectory ??? ????????? ?????????? ??? ???

?? ??????? ?? ????? ?????? ?? ????? ???? ??? ???:
MSExTmz-?????????? ?? ?????????? DN ?? CN-????? ??????.log
?????? ?? ???, Outlook ????? ????? ??????? ???:
MSExTmz-USER3-0x0131273E.LOG
Outlook ????? ?? ?? ?? ?? ????? DN ??????? ?????????? ??????? ???? ??:
/ O ???? ??????/OU = ???? ???????????? ????/CN = ????????????/CN = = USER3

????? ??????

Msextmz.exe ??? ???????? ?? ??? Outlook ????? ?? ????? ??? ?????? ??, ??? ?????????? ?? DN ??? ????? ?????? ??? ?? ?????? Msextmz.exe ????? ??? ???? ??? ????? ?????? ?? ??? ??? ???? ?? Outlook ????? ?? ????????????

??? ?????

?????? ??????????? Msextmz.ini ????? ??? ???????? ???? ??? ??, ???? ????? ????? Msextmz.exe ?? ?????? ??????? ?? ?????? ?? ????????? ???? ??? ???

Msextmzcfg.exe ????? ?? ??? ???? ????

Msextmzcfg.exe ??? ???? ?? ?????? ?? ??? ?? ??, ???????? ?????????? ?? ??? ??? ???? ?? ??? ???? ?? ?? ?????????? ???? ?? Msextmzcfg.exe ?? ?????? ??? ??? ????? ?? ??? ?????? ???. ini ??????? ????? ?? ??? ?? ?? ????????? ?? ???????? ??? ????? ??? ?? ??????? ???? ??? ?? ?????? ???????? ??? ?? ????? ???? ?? ????, ?? ????? ?? ???? ???? ?? ??? ?? Msextmzcfg.exe ?? ????? ????? ?? ?????? ??? ???? Msextmzcfg.exe ????? ?? ??? ?? ????? ???? ???

?????? ?????????

???? Msextmzcfg.exe ????? ?? ??? ????? ???? ???? ?? ?? ??????? ?? ????? ????????? ???? ?????? ??:
  • Exchange ?????????? ???? ?????
  • ??????? ??????????

Msextmzcfg.exe ?? ????? ?? ???? Exchange ????? ?? ?????? ???? ?? ??? ????????? ?? ??????

  1. ??????? ???????? ?? ??? ?? ???? ?? ??? ??? ???????? ?? ?????? ???? ?? ??? ?? ?????? ?? ??? ??? ?? Exchange ????? ?? ????? ?? ?? Outlook ????????? ?????? ????????? ???? ?? ????????? ?? ?????? ??? ??? ??, ?? ?? ?? ????????? ?? ???????? ????????? ?? ???????? ?????

    ???:Exchange ????? ?? ?????? ??? ?? ?????? ???? ??????
  2. Exchange ????? ?? ??????? ???? ?? ??? Msextmzcfg.exe ??????
  3. ????? Exchange ??????? ????? ?????? ??????? ??? ?? ??, ?? ????? ???????????? ??? ?? ?? ?????:

    ???? Exchange ????? ?? ??? ?????????? ?? ??? ???? ?? ???????, ?? ????? ?? ???? ????:
    1. ?????????? ???????? ???, ???????? ??? ?? ???? ??? ??????????? ????? ??? (FQDN) ?? Exchange ????? ???? ????? If the friendly name contains a ".", use the NetBIOS name instead. Msextmzcfg.exe will fail if the server is in another Active Directory forest.
    2. ?????Output File From Extractionbox, type the name of the file that will contain all the mailbox time zone information.
    3. If you want to extract the time zones for recurring meetings, click to select theExtract Recurring Meeting Time Zones??? ?????.

      ??????????If you use this setting, the run time of the extraction mode will be significantly increased. ???????? ??? ??,Extract Recurring Meeting Time Zones??? ????? ????? ???
    4. ????? ????Outlook Profile Namelist, and then click the profile you created in step 1.
    5. ????? ????,next.


    To skip time zone extraction, follow these steps:
    1. ?? ??? ???? ?? ??? ????? ????Skip time zone extraction??? ?????. ???????? ??? ??,Skip time zone extraction??? ????? ????? ???
    2. ?????Output File From Extraction????? ???, ?????? ?? ?? ????? ??? ??????? ?????? ???? ?? ?????? ????? ?? ??? ??????
    3. ?????????? ???????? ???, ???????? ??? ?? ??? 3b ??? ????????? ?????? ????? ????? ?? ??? ????? ???? ??? ?? ?? Exchange ????? ?? FQDN ??????
    4. ????? ????,next.
  4. ??? ???? ?????? ???? ????? ???? ???, ?? ??? Msextmzcfg.exe ?????? ????? ?????? ?? ???????? ???????? ?????? ??? ???? ?? ??? ?????????? ?????????? ?? ??? ????????? ?? ??? ???? ?? ?????? ???? ???

    ??? ???? ?? ??? ???? ??? ?? ???? ??? ??, ?? ???? ?????? ???????? ??? ?? ??? ??? ???? ????? ??????? ?? ??? ?????????? ??? ???? ?? ???, Windows ??? ???? ??? ?????????? ??? ??????? ?? ??? ???? ????? ????.Windows ??? ??????????? ?? ?????? ?????? ????????? ?? ????? ????, ?? ???? ???next.
  5. ?????? ????????? ?? ???? ???? ??, Msextmzcfg.exe categorizes ???????????? ?? ????? ???? ???:
    • ?????????? ?? ??? ???? ?? ?? ??? ??????? (?????? ?? ???, ?????????? CDO, Outlook Web Access, Outlook, ?? ?????????? ?????? ??? ??????? ??) ?? ?? ?? ???? ??? ???? ?? ???????? ?????? ?? ?? ?? ??? ???? ?? ??? ??? ?? ?? ??????????
    • ?????????? ?? ??? ?? ?? ???? ??? ???? ??? ?? ???? ???????? ?????? ??? ???? ?? ??? ???
    • ?????????? ??? ??????? ?? ???? ?? ??????? ???? ??
    Msextmzcfg.exe ???? ? conflicted ? ?? ? nonexistent ? ???????????? ?? ???? ?? ??? ??? ???? ??? ?????? ???? ??? ??? ???? ?? ???, ????? ????? ?? ???? ????::
    1. ???????? ???? ?? ?????? ??????? ???? ?????????????????, ??????ConflictUsers.txt??????????? ????????? ????
    2. ???????? ???? ????? ???? ???? ?????????????????, ??????NonExistent.txt??????????? ????????? ????
  6. ????? ??????????? ?????? ???????????????? ??, ?? ?????????? ???? ????? ???????,. ini ??????? ?? ??? ??????? ?? ?? ?????????? ?????? ?? ??? ????? ???? ?? ??? ?????? ??????? ?????? ?????? ??? ???? ?? ???, ????? ????? ?? ???? ????::
    1. ??????????? ???? ?? ??? ?????? ??? ???? ?? ??? ???????? ???, ?? ?????? ???? ????? ??? ?? ??? ???? ?? ??? ??? ????? ?? ??? ???? ?? ??? ????? ?????
    2. ???????? ??????? ?? ??????????? ???, ?????? ????? ???? ?? ??? ?????????? ?? batches ?? ?????? ??????

      ?? ??????? ?? ?????? ??? ????? ?? ??? ?? ??? ????? ??? ??? ?????? ??? ?? ?? ???? ???? batches ??? ??? ???????????? ?? ???? ?? ????? ?? ???? ??? ?????? ??? ??? Msextmz.exe ?? ?? ?? ???? ???????? ?? ?? ?? ???? ???? ??? ?????????? ?? ??? ??, ?? Msextmz.exe ????????? ???????????? ?? ?? ??? ??? ?? ???????? ??????? ???

      ???:?? ?? ?? ??????? ???????? ?? Msextmz.exe ?? ?? ?? ???? ???????? ???? ????? ?? ?????
    3. ?????Tzmove.exe ??????? ???, Outlook ????? ?? ???? ???????? ?? ?? ???? ????? ??? ?? ???? ?????????? ?????? ?? ?????? ???? ????? ???, ?? ??? ???? ?? ??? ????? ???????? ?????????? ????????? ?????.
    4. ????????????? ?? ????? ????? (seconds)?????, ????? ?? ????? ????? ?? ?????? ???? ?????????? ?????? ???? ??? ??????? profile. ?? ??????? ???? ??? ?? ??????? ??? 0 ????? ?? ????? ?????
    5. ?????????? ???????? ???????? (????)????? ???, ????? ??? ?? ?? ??? ????? ????? ?? ???? ????????? ???? ?? ??? Outlook ????? ???? ?? ?????? ?????? ?? ??????? ???? ??? ?? ?? 15 ???? ?? ??????? ??? ?? ????? ?????
  7. ????? ????,??????. Msextmzcfg.exe ??????? ???????? ?????????? ?? ??????? ??? subdirectory ????? ??? Subdirectory ?? ??? ?? Exchange ????? ?? ???????? ??? ??? Subdirectory ????? ??????? ???:
    • MSExTmz_x. ini

      ?? ????? ?? ?????? ??? ??? ????? ?? ??? Msextmz.exe ?????? ????? ???? ???? ??. ini ????? ???x??? ???? ?? ??? ?? ??????????? ???
    • Mailboxes_x. txt

      ?? ????? ?????????? ???? ????? ????? ?? ?? ?????? ??? ??? ????? ?? ??? Msextmzcfg.exe ?????? ????? ???? ???? ???x??? ???? ?? ??? ?? ??????????? ???
    • MSExTmz_x.bat

      ?? ????? ?? ?????? ??? Msextmzcfg.exe ???? ??? ????? ?? ?? Mailboxes_ ??? ????????? ?????????? ?? ??????? ???x. txt ??????
    • NonExistent.txt

      ?? ????? ?? ???? ??? ????? ??? ??? ??????? ?? ??????? ???? ?? ?? ???????????? ?? ???? ??? ???
    • ConflictUsers.txt

      ?? ????? ?? ??? ??? ???? ?? ????? ???? ???? ???????????? ?? ???? ??? ???
  8. ???? ?? ??? ????? ?? ??? ?? ?? subdirectory ?? ?????? ?????, Mailboxes_x.txt ????? ?? Notepad ??? ???, ???? ?? ?????? ?? ?????? ???????? ???????????? ???????, ?? ?? Mailboxes_x.txt ???? ???????
  9. ?? ????? ?? ???? ????::
    1. Start Outlook, and then verify that Outlook correctly logs on to the server by using the default profile and without prompting you to select a profile.
    2. Verify that no prompts appear during Outlook startup. Msextmz.exe cannot run if there are prompts.
    3. Verify that the following file does not exist:
      %USERPROFILE%\Local Settings\Application Data\Microsoft\Outlook\Extend.dat
      If this file exists, rename it.
    Update the mailboxes by going to the subdirectory that is named after the server, and by running the batch files one by one. To run the batch files successfully, you must use an account that has Full Mailbox Access and Send As rights for the mailboxes that you want to update.

What to do after you run the Exchange tool

Install updates

After you finish updating all Exchange servers in your environment, install the following update on the Exchange servers:
926666Update for daylight saving time changes in 2007 for Exchange 2003 Service Pack 2

????? ?????

  • Recurring meetings that are created in Outlook Web Access are not updated by the Exchange Tool

    If you install the update that is mentioned in Knowledge Base article 926666 on the Exchange server before you update the mailboxes, recurring meetings that are created in Outlook Web Access are not updated by the Exchange tool. To resolve this problem, remove update 926666, run the Exchange tool, and then reinstall update 926666 on the Exchange server.
  • Exchange 2007 must be restarted after you run the Exchange tool

    For Exchange 2007 Outlook Web Access to correctly display calendar items after you run the Exchange tool, the Exchange services must be restarted.
  • You cannot install the Exchange tool

    The Exchange tool will not be installed successfully if either of the following registry keys exists:
    • HKEY_CLASS_ROOT\Outlook.Application.9
    • HKEY_CLASS_ROOT\Outlook.Application.10
    In this case, you receive the following error message when you try to install the Exchange tool:
    Exchange Server Calendar Rebasing Tool cannot be installed with this version of Microsoft Outlook.
    To work around this issue, delete these registry keys, install the Exchange tool, and then restore the registry keys.
  • A time zone may be ambiguous

    Recurring calendar items that are created by using DST 2006 rules in the Pacific (PST) time zone in Outlook 2003 or in an earlier version of Outlook are not updated by the Outlook tool. This problem affects Msextmz.exe because Msextmz.exe runs the Outlook tool.

    To work around this issue, change the registry to remove the Mexican time zones on the computer that is running Msextmz.exe. Run Msextmzcfg.exe in Update mode, and then restore the Mexican time zones in the registry. To do this, follow these steps.

    ???????????? ???, ????, ?? ????? ?? ????????? ?? ??????? ???? ?? ??? ????? ????? ??? ???? ???????, ??? ?? ????????? ?? ??? ??? ?? ??????? ???? ??? ?? ????? ???????? ??????? ?? ???? ???.. ?????, ????????? ???? ?? ?? ?? ????? ?? ??????????? ???? ???? ???.. ?????? ??????? ?? ???, ????????? ?? ??????? ???? ?? ???? ???? ??? ?? ???.. ???, ??? ??? ?????? ??????? ???? ?? ?? ?? ????????? ?? ???????????? ?? ???? ???.. ????????? ?? ??? ?? ???? ?? ???????????? ???? ?? ????? ?? ???? ??? ???? ??????? ?? ???, Microsoft ?????? ??? ??? ???? ????? ?? ??? ????? ???? ?????? ????? ????::
    322756??? ?? ???? ?? Windows ??? ????????? ?? ???????????? ???? ????
    1. Back up the registry.
    2. ????? ????,???????????? ????,???????????:regedit?? ????-????? ????, ?? ???? ???OK.
    3. Expand the following subkey:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Time Zones
    4. ????-????? ????Mexico Standard Time?? ????-????? ????, ?? ???? ????????.
    5. ?????????? ????? ?? ?????? ????????? ????? ???, ????? ???????.
    6. ????-????? ????Mexico Standard Time 2?? ????-????? ????, ?? ???? ????????.
    7. ?????????? ????? ?? ?????? ????????? ????? ???, ????? ???????.
    8. Msextmzcfg.exe ?? ?????? ??? ??? ??????
    9. ????????? ?? ?? ??? 1 ??? ???? ?? ????? ?? ???????????? ?????
    ??? ?? ???? ?? ??? ?? ????????? ?? ???????????? ???? ???? ?? ???? ??? ???? ??????? ?? ??? Microsoft ???????? ??? ???? ????? ?? ??? ????? ???? ?????? ?? ????? ????:
    256986Microsoft Windows ????????? ?? ?????
  • ????? ????? ??????? ???? ?? ???? ?? ?????????? ?? ?????? ???? ??

    ?????????? ???? ??? ??? ?? ?? ??? ??????? ??????? ??? ???, Msextmz.exe ???? 65,535 ?????????? ????? ?? ????????? ?? ???? ???? ??? ????? ?? ???? 65,535 ?????????? ??? ??, ?? ??? ?????????? ?? ??????? ???? ???? ??????
  • ?????????? ??? ????????? ?? ??? ????? ?? ???? ??

    ?? ?? Outlook ????? ?? ?????, ?????? ?? ??? ??? shifted ???? ??? ??, ?? ???? ?? ???? ????? ?? ?????????? ??? ??????????

    ??? ?? Exchange Server 2007 ?? ??? ??? ???, ?? ??????? ???? ??? ?? ????? ???? ?????? Booking Attendant ??? Exchange 2007 ???? ?? ??? 3 ?? ??? ??? ??? ??? ?????????? ?????? ???, ?? ??? ????? ???????? ??? ?? ???? ????? ?? ?? ???

    ??? ?? ???? booking ?? ????? ??????? ????? ????? ?? ??? ???, ?? ?????? ?????????? ?? ?????? ???? ?? ???, ????? ????? ?? ???? ????:

    ???? booking ?? ???

    ???:????? ????? ?? ???? ?? ???????? ?? ?? Microsoft Office Outlook (Tzmove.exe) ?? ??? ??? ???? ???? ?????? ????? ?? ??? ?????? ???????? ??????? ?????
    1. ?? ??? Tzmove.exe (Outlook ?????) ?????/ FORCEREBASESUPPRESSALLUPDATES???? ?????? ???????? ?????? ?????????? ?? ??????? ???
    2. Tzmove.exe ?? ???? ??? ?????????? ?? ??? ??????? ??? ??? ??????
    ?????? ???? ?? ??? ?????? ?? ??, ??? ?? ??? ?? ???? ?? Outlook ?? ????? ?????? ?????????? andto ???? ???? ??? 2 ??? ???? ?? ????????, ?? ???????? ?? ?????? ?? ??? ??? "??????" ?? ????? ?????? ???????? ???????? ??? no ?? ??? ?? ???? ?? ??? ?????? ????????, ??? 1 ??? ?????? ??? ?? ?? ?? ??? ?????? ???????? ?? ?????? ???????? ??????? "??????? ????" ?? ??? ??? ????? ?????

    FORCEREBASESUPPRESSALLUPDATES ?? ???? ??? ???? ??????? ?? ??? Microsoft ???????? ??? ???? ????? ?? ??? ????? ???? ?????? ?? ????? ????:
    933146Microsoft Office Outlook ?? ??? ??? ???? ???? ?????? ????? ?? ??? ???????? ?????? ?? ?????


    ????: ?? ??? ??????? ?????
    1. ????????? ???? ?? ????? ?? ????: ??????? ????? ?? ??? ???
    2. ?????? ??? ??? ?????? ??????? ???????? ?? ??????? ?????
    3. ?? ??? Tzmove.exe (Outlook ?????) ?????/ FORCEREBASESUPPRESSALLUPDATES???? ?????? ???????? ????? ??????? ????? ????? ?? ??? ?????? ?????????? ?? ??????? ???
    4. ???? ?? ?? ????? ??????? ????? ?? ??? ??? ?? ????????? ???? ?? ?????????? ?? ?????? ????????? ?????? ?????? ?? ??? ???????? ??? ??????? ?????? ???? ?? ??? ?????????? ???
    5. Tzmove.exe ?? ??? ???? ?????????? ?? ??? ??????? ??? ??? ??????
  • ????????? ??????? ???????

    Exchange ????? ????????? ??????? ?? ?????? ???? ???????? ???? ????????? ?????? ??????? ?? ?????? ???? ?? ??? ???? ???? ?? ???? ??? ??????? ?? ??? Outlook ????? ?? ???????? ??????
  • ???? ???? ?????? ??? "?? ??? ??? ?????" ?? ????? ????

    If you intend to run Msextmz.exe by using ?Run As? in the command line, make sure that you also use ?Run As? to configure Registry Editor to set the PickLogonProfile value in the registry.
  • Msextmz.exe may stop responding

    Issues with the global catalog servers may cause Msextmz.exe to stop responding. If this happens, follow these steps:
    1. Stop Msextmz.exe.
    2. If the Logfile parameter was set in Msextmz.ini, find out which mailbox was being processed. TheProcessing Mailboxentry in the log file provides the user DN for the mailbox that was being processed when Msextmz.exe stopped responding.

      If the Logfile parameter was not set in Msextmz.ini, the Processing Mailbox information can be found in the Command Prompt window.

      All user mailboxes that come after the mailbox that was being processed when Msextmz.exe stopped responding are not processed. This applies to the mailboxes in the ServerName_TimeZone_Input_File.txt that was used as the input file for this run.
    3. Create a new input file that contains the user DNs of the mailboxes that were not processed.
    4. Before you run Msextmz.exe again with this new input file, make sure that you process the users in the error file that was generated by the previous run.
  • You can run the Outlook tool and the Exchange tool in the same environment

    You can run the Outlook tool and the Exchange tool in the same environment. If you run the Exchange tool on a mailbox that has already been updated by the Outlook tool, or vice versa, you will experience no side effects. However, if the administrator runs the Exchange tool, there is no need for users to separately run the Outlook tool.
  • Reminders appear later than expected

    Non-meeting reminders for mailboxes that are updated by the Exchange tool will not be updated if Outlook has never connected to the mailbox in Online mode. In this situation, reminders will appear one hour later than expected.

    If Outlook has never connected in Online mode, you must adjust the incorrect reminders for calendar appointments that the Outlook Time Zone Update tool finds. If Outlook has never connected in Online mode, the reminders search folder does not exist in the mailbox. Therefore the tool will not update e-mail items, contacts, or other reminders. For example, the tool will not update a reminder on an e-mail item to follow up at a time in the future or a reminder on a task item that has a reminder.
  • Run time may be long

    Msextmz.exe is single-threaded. Therefore, it could take many hours to run the tool against many mailboxes.

    For reference, Microsoft IT was able to update approximately 53,000 mailboxes in 16 hours by using nine clients. This equates to an update rate of 6.13 mailboxes per minute per client.

    The number of invitees in a meeting request should not affect the run time of the Update mode. This is because from the client perspective, sending a meeting update to one recipient takes the same time as sending a meeting update to one hundred recipients.

    The number of invitees does affect the number of copies of the meeting update. However, that is an issue of mail flow, not of run time.
  • The event log may run out of space after updating many mailboxes

    Tzmove.exe generates an informational event that includes source TZMOVE EventID 32 for each successful update. Lots of events can cause the Application log to exceed the allocated space on the disk. In Update mode, Msextmz.exe relies on these events to determine the successful execution of Tzmove.exe. If Msextmz.exe cannot find the corresponding Tzmove.exe event that is associated with the mailbox that Msextmz.exe is trying to update, Msextmz.exe assumes that the update was unsuccessful. Therefore Msextmz.exe logs the mailbox DN in the error.txt file. To avoid this issue, we recommend that you set the event log size to maximum and that you allow overwriting.
  • ?Unable to install because previous versions of ?Microsoft Exchange Calendar Update Tool? were detected. Please uninstall them and run this setup again.?

    If you previously installed the Exchange Calendar Update Tool version 1.0, you must uninstall version 1.0 before you install version 2.0. Version 1.0 was distributed as a self-extracting executable program that contained two MSI packages: Msextmz.msi and Msextmzcfg.msi. You must uninstall both packages before you install version 2.0. If you still experience problems installing version 2.0, try re-installing and uninstalling version 1.0 by using the *.msi packages instead of using the Add or Remove Programs tool. Then, restart your computer, and install version 2.0. If all else fails, directly extract the binaries from the *.msi packages.

Error messages and resolutions

  • Unable find mailbox timezone:Error 0x80004005
    This error message may be caused by any of the following issues:
    • The tool was unable to find any time zone values in the mailbox of that specific user. To resolve this issue, try adding ?ReadCalendarTimeZones=1? (without the quotation marks) to the Msextmz.ini file to force the tool to examine recurring calendar items for time zone information. You can create a new input file by using the DNs from the error log that you received from the last run.
    • ?? Tzmove.exe ??? ?????????? ?? ???????? ???? ?? ?????? ?? ?? ???? ?? ??? ???? Msextmz ????? ?? ?????? Msextmz.ini ???? Tzmove.exe ????? ?? ??? ??? ?? ?????????? ?? ??????? ?? ?? ??? ??? ????? ?? ????? ???? ?? ??? ??????? ??? ??????? ?? ?? ??????? ????? ?? ????????

      ???:?? ?? Microsoft Office Outlook ?? ??? ??? ???? ???? ?????? ????? ??????? ????, Tzmove.exe ????? ?? ?? ???????? ???????? ????? ?? ???? ???????? ?? ???????? ????? ????????? ??????? ?? ???? ?? ?? Msextmz ????? ????
    • ????? ???????? ?? ?????? ???? ?? ?? ???? ???? ??? ???? Msextmz ????? ?? ??? ????? ??? ?? ??? ??? ?? ??? Exchange ????????? ???????????? ???? ??? ?? ?????? ?? ?? ???? ?? ??? ???? Exchange ????? ???????? ?? ? ???? ???????? ?????? ? ????????? ??????
  • ???????? /O ?? ??????? ???? ??? ?????? =CONTOSO/ OU =???? ???????????? ????/ CN =????????????/ CN =TESTMB01-0x80004005
    ????????????? legacyExchangeDN ?? ??????? ???? ?? ?????? ????? ????? ????????? ???? ?? ??? ??? ??, ?? ????????? ????? ?? ??????? ?? ??? ?? ??? ADSIEdit ?? ????? ?????
  • /O ????? ?? ??? ?????? ?? ????? ??? ?????? ???????? =CompanyRoot/ OU =??/cn ???????????/cn = ?????/cn = =EXCH01. 80040115 ??????
    ?? ?? RPC ?????? ??? ????????????? legacyExchangeDN ?? ??????? ????, ?? ?????? ????? ?????
    ????? ????? ????? ?? ??? ????
    ???? ????? ?? ???????? ??? (DN) ?? ???????? ??? DN ??? ????? DN resemble ???? ?????:
    ServerDN: / O CompanyRoot/OU = = IT / cn ???????????/cn = ?????/cn = = EXCH01
  • ????????? ??? ?? ??????? ???? ??? ???? (0xc0000135)? ????????? ?? ?????? ???? ?? ??? ??? ?? ????? ????
    ?? ?????? ????? ??? ?? ??????? .NET Framework 2.0 ??????? ???? ???
  • HrTestMailboxAccess: ??? ?????? ????? ???????? - 0x8004011D.
    ??? ?????? ????????? ?? ????? ???? ?? ?????? ????? ??????? ???? ??, ?? ?? ???? ?? ????? ?? ??? ??? ?? ???? ?? ????? ????? ???????? ?? ???? ???? ?????????? ?? ?????? ???? ??? ????? ???? ?? ??? ????? ?? ??? ??? ?????????? ?? ??? ????? ???????? ????? ?? ?????? ???? ?????? ???

    ???????? ???? ?? ??? ????????? "Msextmz.exe ?? ??? ????????? ?? ???????? ????" ??? ??? ?????? ???? ?? ????? ?? ?? ?? ???

??????

"?????? ???? ????????" ?????????

Option Explicit
' For FileSystemObject
Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8
Const TristateTrue = -1
Const TristateUseDefault = -2
Const TristateFalse = 0

'Permission Type: Allow or Deny
Const ADS_ACETYPE_ACCESS_ALLOWED = &H0
Const ADS_ACETYPE_ACCESS_DENIED = &H1
Const ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = &H5
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6

Const ADS_ACEFLAG_INHERIT_ACE = &H2
Const ADS_ACEFLAG_NO_PROPAGATE_INHERIT_ACE = &H4
Const ADS_ACEFLAG_INHERIT_ONLY_ACE = &H8
Const ADS_ACEFLAG_INHERITED_ACE = &H10
Const ADS_ACEFLAG_VALID_INHERIT_FLAGS = &H1f
Const ADS_ACEFLAG_SUCCESSFUL_ACCESS = &H40
Const ADS_ACEFLAG_FAILED_ACCESS = &H80

'Declare ADSI constants
Const ADS_SCOPE_SUBTREE = 2
Const ADS_OPTION_SECURITY_MASK = 3
Const ADS_OPTION_REFERRALS	= 1
Const ADS_SECURITY_INFO_DACL = 4
Const ADS_CHASE_REFERRALS_NEVER = &h00 
Const ADS_CHASE_REFERRALS_SUBORDINATE = &h20 
Const ADS_CHASE_REFERRALS_EXTERNAL = &h40

'Microsoft Exchange 
Const EX_MB_SEND_AS_ACCESSMASK  = &H00100
Const EX_FULLMAILBOX_ACCESSMASK = 1
Const EX_MB_SEND_AS_GUID = "{AB721A54-1E2F-11D0-9819-00AA0040529B}"

'Application Parameter Index
Const ARG_INDEX_MODE = 0
Const ARG_INDEX_USERNAME = 1
Const ARG_INDEX_FILENAME = 2
Const MIN_ARG = 1

Const MODE_INVALID = -1 
Const MODE_ADD = 0
Const MODE_REMOVE = 1

Const ADD = "-ADD"
Const REMOVE = "-REMOVE"

'Application Const String
Const EMPTYSTRING = ""
Const ERROR_FILENAME = "GrantMailboxPermission.err"
Const OUTPUT_FILENAME = "GrantMailboxPermission.log"
Dim OUTPUT_DELIMITER
OUTPUT_DELIMITER = vbTab

'Logging file
Dim objFSO
Dim objfileError
Dim objfileOutput
Dim objfileImport
Dim objconn
Dim objCommand
Dim rootDSE
Dim sDomainContainer
Dim sUserLDAPPath
Dim objUser
Dim objSDNTsecurity
Dim objDACLNT
Dim objDACLEX
Dim objSDMailbox
Dim fFMA
Dim fSendAs
Dim AccessTypeForFMA
Dim AccessTypeForSendAS
Dim fAddedFMA
Dim fAddedSendAs
Dim fRemovedFMA
Dim fRemovedSendAs
Dim sArraySplit
Dim sOneRow
Dim sGrantedUser
Dim dArgCount
Dim cScriptMode
Dim dArgExpected
Dim fOneError

On Error Resume Next
'Parameter Checking
dArgCount = Wscript.Arguments.Count
If (dArgCount < MIN_ARG) Then
	DisplaySyntax
End If

cScriptMode = MODE_INVALID
Select 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_INVALID
End Select

If (cScriptMode = MODE_INVALID Or dArgCount <> dArgExpected) Then
	DisplaySyntax
End If

If (cScriptMode = MODE_ADD) Then
	sGrantedUser = WScript.Arguments(ARG_INDEX_USERNAME)
	If (IsValidUserName(sGrantedUser) = False) Then
		DisplaySyntax
	End If
End If

CreateImportExportFiles

If (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

		    ' Check Full Mailbox Access and Send As permission
		    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 we don't have either SendAS or FMA, we're going to add these permission
		    If ( (AccessTypeForFMA = ADS_ACETYPE_ACCESS_DENIED) Or (AccessTypeForSendAs = ADS_ACETYPE_ACCESS_DENIED_OBJECT) ) Then
			    'Deny access already granted, won't add permission to 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 FMA permission
				    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 SendAs permission
				    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
	Loop

Set rootDSE = Nothing
Set objCommand = Nothing
Set objconn = Nothing

End If

If (cScriptMode = MODE_REMOVE) Then
	'Retreive the granted user from the first line of 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)

		'First column is Ldap path
		sUserLDAPPath = sArraySplit(0)
		'Second column is FullMailbox Permission
		fAddedFMA = sArraySplit(1)
		'Third column is SendAs
		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
	Loop
End If

CloseImportexportFiles

Function IsValidUserName (sUserName)
	Dim dPosition
	dPosition = InStr(1, sUserName, "\")
	If (dPosition = 0 ) Then
		IsValidUserName = False
		objfileError.WriteLine("Invalid User:" & sUserName)
	Else
		IsValidUserName = True
	End If
End Function

Function 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 = Nothing
End Function

Function 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 = Nothing
End Function

Function 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 Function

Function 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 Function

Function 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 = Nothing
End Function

Function 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 = Nothing
End Function

Function 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 output file name as 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
		'Check if output file already exists.
		If (objFSO.FileExists(sOutputFileName)) Then
			Set objfileOutput = objFSO.OpenTextFile(sOutputFileName, ForReading, False, TristateTrue)
			sOneRow = objfileOutput.ReadLine
			'If user name in the file is different from parameter, we can't proceed.
			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 Log file is the user who is going to be 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 If
End Function

Function 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 = Nothing
End Function

Function 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

??????

?? ?????? ?? ??????? ?????? ?????? ?? ??????? ????
?????????????????????? ????
1.011-??-2007??? ???????
2.012-??-2007Editorial ????????
3.007-Feb-2007????? ???? rewrite
3.108-Feb-2007?????? ??????? ?????? URL
3.208-Feb-2007Editorial ????????
4.009-Feb-2007?????????? ??? ?? ????? ?? ???? ??? ?? ??????? ????
4.112-?????-2007???????? Exchange 2003 ??????????? ??????? ? ?? ?? ???? ? ??? ?? ???
4.212-?????-2007Corrected typographical ??????
4.312-?????-2007??? ??? ??? ?? ?????? ???? ??? ????
5.013-?????-2007Added virtual machine information in the "How to install the Exchange tool" section
6.015-Feb-2007Rewrite of "Reminders appear later than expected" section
7.015-Feb-2007Added download information for the Virtual Machine for Microsoft Exchange Calendar Update Tool package
8.016-Feb-2007Added information about the Exchange System Management tools in the "What to do before you run the Exchange tool" section
8.119-Feb-2007Corrected file name in the ?How to run Msextmzcfg.exe? section
8.220-Feb-2007Added space between User_Name and File_Name in the "Grant Mailbox Permission" script section
9.020-Feb-2007Rewrite of article
10.020-Feb-2007Internal metadata updates
10.120-Feb-2007Corrected typographical error
10.220-Feb-2007Corrected typographical error
10.320-Feb-2007Corrected typographical error
10.421-Feb-2007Corrected typographical error
11.022-Feb-2007Added information about version 2 of the Exchange tool
11.122-Feb-2007Corrected typographical error
11.223-Feb-2007Added table to indicate article revisions
12.026-Feb-2007Added information about event log space and added information about error messages and resolutions to those errors
13.027-Feb-2007Removed download URL for virtual machine information and added cross-reference to 933185
14.028-Feb-2007In the "Known Issues" section, changed text in first bullet to include KB926666
15.027-Feb-2007Added virtual machine information
16.028-Feb-2007Added information about the the latest hotfix for the Time Zone Data Update Tool for Microsoft Office Outlook (Tzmove.exe) to the "For direct booking" section. Added cross-reference to 933146
16.128-Feb-2007Corrected table tags
17.001-?????-2007Removed Exchange Server 5.5 information
18.005-Mar-2007Rewrote Revisions table
19.008-Mar-2007Added information about the "HRTestMailboxAccess" error message
19.113-Mar-2007Removed duplicate paragraph about the number of invitees in a meeting request
19.219-Mar-2007Updated Revisions table
19.321-Mar-2007Removed virtual machine information in the "About the Exchange tool" section
19.403-??????-2007Updated Introduction section
19.504-Aug-2007Updated title
21.006-Sep-2007Added information about article 941018 with a newer tool
21.107-Sep-2007Removed outdated Knowledge Base article link.

???

???? ID: 930879 - ????? ???????: 06 ?????? 2010 - ??????: 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 kbresolve kbexpertiseinter kbinfo kbmt KB930879 KbMthi
???? ?????? ????????
??????????: ?? ???? ?? ???? ??????? ?? ????? ?? Microsoft ????-?????? ?????????? ?????? ?????? ???? ??? ??. Microsoft ???? ??? ????-???????? ?? ????-???????? ????? ?????? ?? ???? ???????? ???? ?? ???? ????? ????? ??? ?? ??? ?????? ?? ???? ???? ???? ??? ????? ??. ???????, ????-???????? ???? ????? ???? ???? ???? ???. ?????, ????????, ?????-???? ?? ??????? ?? ???????? ?? ???? ???, ???? ?? ??? ?????? ???? ???? ??? ????? ??? ?? ???? ??. Microsoft ??????? ??? ???? ?? ?????? ?? ??????????, ????????? ?? ??? ?????? ?? ???? ????? ?? ???? ???????? ?? ??? ???? ????? ?? ??? ????????? ???? ??. Microsoft ????-?????? ?????????? ?? ????? ?????? ?? ?? ??? ??.
?????????? ?? ??????? ????????? ??????? ??:930879

??????????? ???

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com