С помощью средства обновления календаря Exchange на летнее время изменения адреса для Exchange Server.

Переводы статьи Переводы статьи
Код статьи: 930879 - Vizualiza?i produsele pentru care se aplic? acest articol.
Важно Обновление, описанное в статье базы знаний Майкрософт были заменены обновление, описанное в статье базы знаний Майкрософт 941018. Убедитесь, что Windows содержит последние данные часового пояса, установите обновление, описанное в статье базы знаний Майкрософт 941018. Необходимо удалить обновление, описанное в статье базы знаний Майкрософт перед установкой обновления, описанного в статье базы знаний Майкрософт 941018.

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
941018 Как решить с помощью средства обновления календаря Exchange на летнее время
Развернуть все | Свернуть все

В этой статье

ВВЕДЕНИЕ

Летнее время — это система настройки часов вперед, чтобы Восход и закат происходят на более поздних час. Это дополнительное летнее вечером. Во многих странах Обратите внимание на летнее время, хотя большинство имеют свои собственные правила и нормативы по когда начинается и заканчивается. Даты летнего времени (также известное как переход на летнее время) могут изменяться по годам, а пользователи должны обновить свой календарь Microsoft Office Outlook на каждый раз что изменения летнего времени законодательства или правил. Даты между предыдущие правила перехода на летнее время и текущие правила перехода на летнее время, называются в статье «периода летнего времени.»

В данной статье рассматриваются действия, которые можно предпринять для элементов календаря адресов в Microsoft Outlook, возникающих во время периода летнего времени.

Дополнительные сведения о том, как подготовить изменения в летнее время в 2007 (DST 2007) для всех уязвимых продуктов корпорации Майкрософт посетите следующий веб-узел корпорации Майкрософт:
http://www.Microsoft.com/DST2007
В данной статье рассматриваются действия, которые должны быть взяты для обновления элементов календаря, которые сохранены в Microsoft Exchange Server в новые правила перехода на летнее время. Решение, представленных в этой статье включает в себя средства обновления календаря Exchange («Exchange средство»). Средство Exchange основывается на средстве обновления данных часового пояса для Microsoft Office Outlook ("мастер").
Дополнительные сведения о программе Outlook щелкните следующий номер статьи базы знаний Майкрософт:
931667 Порядок изменения летнего времени в 2007 с помощью средства обновления данных часового пояса для Microsoft Office Outlook

О средстве Exchange

После установки обновлений периода летнего времени для Microsoft Windows, проходящим через час все старые встречи, возникающих во время периодов летнего времени изменения могут отображаться неправильно. Это справедливо и для повторяющихся и одного экземпляра встречи. Эти встречи должны быть обновлены, чтобы они будут правильно отображаться в Outlook, Outlook Web Access и приложения CDO.

Outlook предоставляет средство, которое называется средство обновления данных часовых поясах для Microsoft Office Outlook. Это средство позволяет пользователям обновлять свои собственные календари.

Примечание В Microsoft Office Outlook 2007 построении средстве обновления данных часового пояса. Тем не менее Корпорация Майкрософт рекомендует использовать автономная версия средства обновления данных часового пояса.
931667 Порядок изменения летнего времени в 2007 с помощью средства обновления данных часового пояса для Microsoft Office Outlook
Средство обновления календаря Exchange («Exchange средство») позволяет избежать проблемы, возникающие при развертывании Outlook средство широко для всех пользователей и позволяет каждому пользователю работает средство правильно.

Подробное описание этого средства Exchange

Программа Exchange состоит из двух отдельных исполняемых файлов. В следующей таблице описаны эти файлы.
Свернуть эту таблицуРазвернуть эту таблицу
Имя файлаОписание
Msextmz.exeЭтот исполняемый файл извлекает сведения о часовом поясе из почтовых ящиков на сервере, на котором выполняется Exchange Server. Этот исполняемый файл, также обновляет календари почтового ящика для указанного списка пользователей путем вызова средства Outlook для проверки каждого указанного пользователя.
Msextmzcfg.exeЭтот исполняемый файл — это средство конфигурации, выполняет большинство действий, выполняемых при обновлении сервера Exchange Server.

Средство Exchange версии 2

21 Февраля 2007 г. было выпущено средство обновления календаря Exchange версии 2. В данной статье относится средство Exchange версии 2. При запуске средства Exchange версии 1, удалите его и установите версию 2. Средство Exchange версии 2 включает следующие улучшения:
  • Производительность в версии 2 два раза быстрее, чем версия 1 при запуске средства в режиме обновления.
  • Улучшение пользовательского интерфейса.
  • Утечка памяти исправлена часто перезапускается, необходимые клиентским компьютерам.
  • Улучшенный алгоритм для сопоставления извлеченные часовых поясов часовой пояс операционной системы.

Риски и ограничения программы Exchange

Существуют два требования для запуска средства Exchange. В следующей таблице перечислены эти проблемы их возможные эффекты ИТ-инфраструктуры, а также на пользователей и их стратегии преодоления последствий.
Свернуть эту таблицуРазвернуть эту таблицу
Риск ЭффектПо уменьшению
Существует множество обновлений.Снижается производительность сервера и сети.Определите влияние на производительность сервера и сети может быть путем обновления пакетов небольших пользователей сначала. Если травмирующие нагрузки, запустите средство во время пониженной нагрузки или во время обслуживания выделенных часов.
Средство выполняется слишком долго.MSXTMZ.exe в одном потоке. При запуске этого файла в режиме обновления от нескольких тысяч пользователей, в то же время средство Exchange может занять многие часы возможно дней для завершения. Чтобы ускорить процесс обновления для всех почтовых ящиков, разделить пользователей на пакеты и затем обновить каждый пакет пользователей с помощью отдельного экземпляра MSXTMZ.exe на отдельном компьютере.

Параметры для обновления почтовых ящиков

В следующей таблице перечислены пять параметров, которые можно использовать для обновления почтовых ящиков пользователей для использования правил для часовых поясов DST 2007.
Свернуть эту таблицуРазвернуть эту таблицу
ПараметрСпециалистыНедостатки
Распространять программой Outlook для каждого пользователя, а затем дать пользователям возможность обновлять свои почтовые ящики.Этот параметр позволяет избежать рисков и ограничений, запустив средство Exchange.Трудно гарантировать, что все пользователи будут использовать средство Outlook правильно и своевременно. Пользователи, у которых нет Outlook не сможет запустить программу Outlook. Дополнительные образовательных целях требуется уменьшить путаницу для пользователей.
Запустите средство Exchange для всех соответствующих пользователей и серверов.Этот параметр обеспечивает удобный для пользователей.Существуют проблемы, связанные с запуском средства Exchange, как описано в предыдущей таблице.
Запустите Exchange средство и обновление только повторяющиеся встречи. Пользователи могут обновить встречи экземпляра в свои почтовые ящики с помощью программы Outlook.Менее подвержены риску участвует неправильного обновления встреч одного экземпляра.Недостатки программы Outlook комбинируются с недостатков программы Exchange.
Запустить средство Exchange ни программой Outlook. Попросите пользователей изучить их календарей и встреч, книга, заново при необходимости.Этот параметр позволяет избежать проблем из программы Exchange.Если всем пользователям повторно книги всех встреч, некоторые элементы календаря будут один час выключить во время периода летнего времени. Дополнительные образовательных целях требуется уменьшить путаницу для пользователей.
Распространять программой Outlook для каждого пользователя, а затем дать пользователям возможность обновлять свои почтовые ящики. Затем используйте режим извлечения часового пояса средства Exchange для определения выполнения программой Outlook для пользователей. Если пользователи не работают с программой Outlook, администратор может запустить средство Exchange.Этот параметр снижает риск пользователей нет программы своевременно и предупреждает возникновение проблем, связанных с запуском средства Exchange.Это не параметр, если пользователи работают с Outlook 2007.

Как установить средства Exchange

Средство обновления календаря Exchange доступна в виде самораспаковывающийся исполняемый файл Msextmz.exe.

После установки файлов в каталог установки должен включать следующие файлы:
  • Msextmz.exe
  • Msextmzcfg.exe
  • Msextmz.ini

    Этот файл является основной .ini filethat документы все параметры, которые используются Msextmz.exe.
  • Msextmzcfg.XML

    Этот файл является файл_сопоставления часового пояса, который сопоставляется операционной системы часовых поясов часовых поясов Outlook, Outlook Web Access и CDO.
Дополнительные сведения о последней версии средства обновления календаря Exchange щелкните следующий номер статьи базы знаний Майкрософт:
941018 Как решить с помощью средства обновления календаря Exchange на летнее время

Языки, которые поддерживаются программой Exchange

Средство Exchange доступна только на английском языке. Средство будет работать только на компьютере с английской (США).

Версии Exchange Server, которые совместимы со средством Exchange

Средство Exchange можно обновить почтовые ящики в следующих версиях Exchange Server.
  • Microsoft Exchange Server 2007 Enterprise Edition
  • Microsoft Exchange Server 2007
  • Microsoft Exchange Server 2007 Standard Edition
  • Microsoft Exchange Server 2003
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange 2000 Server
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange 2000 Server Enterprise Edition
  • Microsoft Exchange 2000 Server Standard Edition

Операционные системы, которые поддерживаются программой Exchange

Средство Exchange будет работать в следующих операционных системах:
  • Microsoft Windows Server 2003
  • Microsoft Windows XP
  • Microsoft Windows 2000
Windows Vista не поддерживается.

Что делать перед запуском средства Exchange

Установка обновлений

Перед запуском средства Exchange, убедитесь, что правильно обновить клиентские и серверные компьютеры с следующие обновления:
  1. Обновление летнего времени Windows на компьютерах клиента и сервера. Дополнительные сведения об обновлении компьютера, на котором выполняется программное обеспечение для операционной системы Windows щелкните следующий номер статьи базы знаний Майкрософт:
    942763 Накопительное обновление часового пояса для операционных систем Microsoft Windows, выпущенное в декабре 2007 г.
  2. Установите следующие обновления, относящиеся к организации Exchange 2003 SP2:
    • 911829 Сообщение об ошибке при попытке выполнения задач редактирования, или необходимо нажать кнопку для активации окна создания сообщения в Outlook Web Access
    • 924334 Форма создания сообщений перестает отвечать на запросы после установки Internet Explorer 7.0 и управления S/MIME на клиенте Outlook Web Access в Exchange Server 2003
    Примечание Это действие может быть выполнено одновременно шаг 1.

Проверка системных требований

Средство Exchange должна выполняться на компьютере с Microsoft Office Outlook 2003 или Microsoft Office Outlook 2007 устанавливается и который имеет средство данных часовых поясов Outlook установлена. Кроме того Microsoft платформа.NET Framework версии 2.0 необходимо установить на клиентском компьютере.

Zone Data Update Tool для Microsoft Office Outlook и Outlook не являются частью пакета средства Exchange. Они должны устанавливаться отдельно.

ПримечаниеНе следует путать пакет установщика программы Outlook с именем Tzmove.exe с сам Outlook средство исполняемый файл с именем Tzmove.exe.

Запустить средство Exchange успешно, компьютер не должны установить значение реестра PickLogonProfile. Кроме того этот параметр реестра будет равным 0. Чтобы определить, существует ли этот параметр реестра, выполните следующие действия.

Важно Этот раздел, метод или задача содержит действия, о том, как внести изменения в реестр. Однако при неправильном изменении реестра могут возникнуть серьезные проблемы. Поэтому точно выполняйте следующие действия. Для дополнительной защиты создайте резервную копию реестра перед внесением изменений. Затем при возникновении неполадок можно восстановить реестр. Для дополнительных сведений о способах создания резервной копии и восстановлении реестра щелкните следующий номер статьи базы знаний Майкрософт:
322756 Как провести резервное копирование и восстановление реестра Windows
  1. Нажмите кнопку Пуск, выберите пункт выполнить, тип regedit, а затем нажмите кнопкуОК.
  2. Откройте следующий раздел:
    HKEY_CURRENT_USER\Software\Microsoft\Exchange\client\options\
  3. Нажмите кнопку Параметрыи затем определить, что существует whetherthe значение PickLogonProfile . Если значениеPickLogonProfile существует и равен 1, значение valueto 0. Чтобы сделать это, выполните следующие действия.
    1. Щелкните правой кнопкой мыши PickLogonProfileи выберите команду Изменить.
    2. В поле значение введите 0, а затем нажмите кнопку ОК.
Средство Exchange нельзя запускать на компьютере под управлением Exchange Server или средства управления системой Exchange. Если при попытке установить программу Exchange на компьютере под управлением Exchange Server или средства управления системой Exchange, появляется следующее сообщение об ошибке:
Средства обновления календаря Exchange нельзя установить с помощью Microsoft Exchange.

Как вручную настроить и запустить Msextmz.exe

Настроить файл Msextmz.ini

Файл Msextmz.ini должен быть правильно настроен для Msextmz.exe для правильной работы. Рекомендуется прочитать комментарии в файле Msextmz.ini тщательно перед внесением изменений в файл Msextmz.ini.

Укажите режим выполнения Msextmz.exe

Msextmz.exe работает в двух режимах. Чтобы указать режим работы, конкретные параметры нужно задавать в файле Msextmz.ini. В следующем списке описаны три режима и инструкции по настройке режимов в файле Msextmz.ini.
  • Извлечение часового пояса

    В этом режиме Msextmz.exe извлечение часового пояса informationfrom каждый почтовый ящик, читая набор свойств MAPI.

    Msextmz.execan изучить повторяющиеся встречи, организованные пользователем в user'scalendar, а затем повторите для определения часового пояса для пользователя. Тем не менее thisoption много ресурсов. Таким образом, по умолчанию, этот параметр является notenabled. Чтобы включить этот параметр, задайте для параметра ReadCalendarTimezones в файле Msextmz.ini.

    Msextmz.exe recordsthe сведения о часовом поясе для каждого пользователя в выходной файл, который содержит почтовый ящик listof устаревшие DNs. Каждый устаревшее различающееся имя почтового ящика имеет часовой пояс значения следующих типов:
    • Outlook Web Access часового пояса
    • CDO часового пояса
    • Часовой пояс в Outlook
    • Повторяющееся собрание часового пояса
    Формат файла используется следующий формат:
    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>
    Если Msextmz.exe не удается извлечь сведения о часовом поясе для любого из четырех типов часовых поясов, устаревшее различающееся имя почтового ящика будет регистрироваться в errorfile.

    Чтобы сопоставить только один часовой пояс пользователя, необходимо импортировать файл theoutput в Microsoft Excel. В Microsoft Excel Фильтрация списка пользователей в соответствии с toone часовых поясов. Часовой пояс, который используется зависит от среды.

    Например, если большинство пользователей используют устройства BlackBerry, веб-клиента Exchange 5.5Outlook, или других решений на основе CDO фильтровать список по часовой пояс CDO. Если большинство пользователей Exchange Outlook Web Access, фильтровать список по OutlookWeb времени доступа к зоне. Если большинство пользователей не помещаются в один из этих сценариев, отфильтруйте список, повторяющееся собрание часового пояса.

    Чтобы запустить средство inTime режим извлечения зоны, настройте INI-файла следующим образом:
    • Оставьте в командной строке параметр убрать комментарии.
    • Установите для параметра выходной_файл.
    • Установите для параметра ErrorFile.
    • Установите для параметра ServerDN.
    • Параметр профиля.
    • Параметр файла журнала.
    • Присвоить параметру ExportTimezones значение 1.
    • Закомментировать остальные параметры в INI-файле.
  • Обновление

    В этом режиме Msextmz.exe обновит ожидаемого все почтовые ящики, указанные во входном файле. Входной файл должен быть в followingformat:
    User_DN<\TAB></\TAB>Server_Friendly_Name<\TAB></\TAB>OS_Time Zone_Registry_Key<\CRLF></\CRLF>
    На один клиент может выполняться только один экземпляр Msextmz.exe. В то же время However,Msextmz.exe может выполняться на нескольких клиентах.

    RunMsextmz.exe в этом режиме необходимо настроить файл Msextmz.ini следующим образом:
    • Убедитесь, что параметр CommandLine uncommented и указывает на правильное расположение Tzmove.exe.
    • Установите для параметра входной_файл.
    • Закомментируйте параметр выходной_файл.
    • Установите для параметра ErrorFile.
    • Установите для параметра ServerDN.
    • Параметр файла журнала.
    • Параметр LogDirectory.
    • Закомментируйте параметр ExportTimezones.
    • Раскомментируйте остальные параметры.
    В режиме обновления Msextmz.exe принимает входной файл, содержащий пользователей на различных Exchangeservers. Параметр .ini необходимы DN Exchangeserver. В этом случае необходимо только указать сервер DN Exchangeserver в организации Exchange.

    Чтобы обновить только повторяющиеся встречи configurethe параметр CommandLine со следующим значением:
    /onlyrecurring tzmove.exe/q
    Чтобы обновить встречи повторяющихся и одного экземпляра, usethe командной строки по умолчанию.

Настройка разрешений для Msextmz.exe

Разрешения, необходимые для запуска Msextmz.exe зависят от режима выполнения, который используется. В следующей таблице перечислены разрешения, необходимые для каждого режима выполнения.
Свернуть эту таблицуРазвернуть эту таблицу
Режим выполненияРазрешения
Извлечение часового поясаТолько администратор Exchange
Локального администратора компьютера, на котором выполняется Msextmz.exe
ОбновлениеПользователь домена с правами полного доступа к почтовому ящику и отправить как для всех почтовых ящиков
Локального администратора компьютера, на котором выполняется Msextmz.exe

Сценарий «Разрешения Grant почтового ящика»

Пример GrantMailboxPermission.vbs сценария можно использовать для предоставления полного доступа к почтовому ящику и отправить как права для всех почтовых ящиков домена.

Этот сценарий может выполняться только администратором Exchange на компьютере под управлением Exchange 2000 Server или Exchange Server 2003. Этот сценарий не может выполняться на компьютере, на котором выполняется Exchange Server 2007. Тем не менее можно использовать среду управления Exchange для предоставления необходимых разрешений.

Код сценария VBS приведен в разделе «Ссылки». В следующей таблице описаны два режима, в которых выполняется этот сценарий.
Свернуть эту таблицуРазвернуть эту таблицу
РежимКомандная строкаОписание
ДобавитьCScript GrantMailboxPermission.vbs –add Имя_домена\Имя_пользователя Имя_файлаГранты Имя_домена\Имя_пользователя Полный доступ к почтовому ящику и отправить как права к почтовым ящикам пользователей, перечисленных в файле исходных данных. Входной файл должен быть текстовый файл, содержащий устаревшие DNs почтовые ящики пользователей, которые разделены CRLF.

Сценарий создает файл GrantMailboxPermission.log. Этот файл представляет собой запись почтовых ящиков, которые были обработаны. Первая строка файла журнала Имя_домена\Имя_пользователя пользователь, получающий доступ. Не удаляйте этот файл. Этот файл используется в режиме удаления.

Если пользователю назначена явный доступ, «запретить», сценарий записывает сведения в файл с именем «GrantMailboxPermission.err». Сценарий не будет предоставить или изменить разрешения.

Если пользователь является участником группы безопасности, имеющей «запретить» доступ, сценарий предоставляет разрешения полного доступа к почтовому ящику и отправить как. Тем не менее пользователь не сможет войти в почтовый ящик. Все ошибки будут регистрироваться в файле GrantMailboxPermission.err.
УдалитьCScript GrantMailboxPermission.vbs –removeУдаление права полного доступа к почтовому ящику и отправить как к почтовым ящикам, перечисленных в файле GrantMailboxPermission.log Имя_домена\Имя_пользователя. В Имя_домена\Имя_пользователя указывается в файле GrantMailboxPermission.log.
Примечание При выполнении этого сценария на компьютере, на котором выполняется Exchange Server, сценарий возвращает точку (.), когда успешно обрабатывает пользователь. Сценарий возвращает восклицательный знак (!), если он не выполняет успешно пользователя.

Примечание Выходной файл в режиме извлечения часового пояса не может использоваться как входной файл для этого сценария. Создание входного файла сценария, можно вставить содержимое выходного файла извлечения часового пояса в Блокнот, сохранить содержимое как новый документ и затем использовать новый документ в качестве входного файла.

Как работает ведение журнала в режиме обновления

Журналы в средстве обновления данных часового пояса Outlook

При запуске программы Outlook, средство создает файл журнала в папке temp. Этот файл имеет имя «Update.log часового пояса Outlook». Msextmz.exe извлекает сведения из "Update.log часового пояса Outlook", а затем создает файлы журнала на пользователя в каталоге, указанном в LogDirectory из INI-файла.

Такие файлы называются, используя следующий формат:
MSExTmz-Пользователя CN различающееся имя пользователя-Случайное число.LOG
Например средство Outlook регистрирует следующие сведения:
USER3-MSExTmz-0x0131273E.LOG
Средство Outlook выполняется при обработке следующих различающееся имя пользователя:
/ O = ОРГАНИЗАЦИЯ/OU ПЕРВЫЙ ПЕРВАЯ ГРУППА АДМИНИСТРАТОРОВ/CN = ПОЛУЧАТЕЛИ/CN = = USER3

Ошибка файла

Если Msextmz.exe не удается запустить средство Outlook с любого почтового ящика, различающееся имя пользователя, заносятся в файл ошибок. Msextmz.exe будет не войти ничего ошибок Если успешно выполнено программой Outlook.

Файл журнала

Если файл журнала параметр настроен в файле Msextmz.ini, выводить сведения из Msextmz.exe в окне командной строки будет доступен в указанном файле.

Как выполнять Msextmzcfg.exe

Msextmzcfg.exe автоматизирует процесс извлечения часовых поясов, разрешения часовые пояса для каждого пользователя и создания списков пользователей и INI-файлов, необходимых для выполнения Msextmzcfg.exe в режим обновления. Рекомендуется использовать Msextmzcfg.exe для выполнения этих шагов вместо выполнения их вручную. В этом разделе описывается выполнение Msextmzcfg.exe.

Разрешения, необходимые

На клиентском компьютере учетная запись, используемая для запуска Msextmzcfg.exe должен иметь следующие разрешения:
  • Только администратор Exchange
  • Локальный администратор

Пример процесса обновления сервера Exchange с помощью Msextmzcfg.exe

  1. На клиентском компьютере создайте профиль Outlook, входит в почтовый ящик, который расположен на сервере Exchange, который вы пытаетесь обновить. Убедитесь, что профиль находится в оперативном режиме, а затем настройте профиль на профиль по умолчанию.

    Примечание Exchange server должен поддерживать в оперативном режиме.
  2. Запустите Msextmzcfg.exe для запуска средства Exchange.
  3. По одному мастеру средства обновления календаря Exchange выполните одну из следующих процедур.

    Чтобы извлечь часовой пояс ofall почтовых ящиков на сервере Exchange, выполните следующие действия.
    1. В поле Имя сервера введите понятное имя или полное доменное имя (FQDN) сервера Exchange server. Если содержит понятное имя ".", вместо этого следует использовать NetBIOS-имя. Msextmzcfg.exe завершится ошибкой, если сервер находится в другом лесу Active Directory.
    2. В диалоговом окне Извлечения из выходного файла введите имя файла, который будет содержать все сведения о часовом поясе почтового ящика.
    3. Для извлечения часовые пояса для повторяющихся собраний, установите флажок извлечь повторяющегося собрания часовых поясов .

      Важно Если используется этот параметр, время работы в режиме извлечения значительно увеличивается. По умолчанию снят флажок извлечь повторяющееся собрание часовых поясов .
    4. Выберите в списке Имя профиля Outlook и выберите профиль, созданный на шаге 1.
    5. Нажмите кнопку Далее.


    Чтобы пропустить извлечения часового пояса, выполните следующие действия.
    1. Щелкните флажок Skip извлечения часового пояса . По умолчанию снят флажок Skip извлечения часового пояса .
    2. В диалоговом окне Извлечения из выходного файла введите имя файла вывода из предыдущего извлечения часового пояса выполнить.
    3. В поле Имя сервера введите понятное имя или полное доменное имя сервера Exchange, которая использовалась для создания выходного файла, который указан в шаг 3b.
    4. Нажмите кнопку Далее.
  4. После часового пояса извлечения завершения Msextmzcfg.exeparses выходного файла и пытается сопоставить часовых поясов из часовых поясах пользователя mailboxesto операционную систему.

    Если все часовые пояса невозможно bematched, вручную необходимо сопоставить часового пояса на странице Карты часового пояса . Чтобы сделать это, выберите требуемый часовой пояс Windows, который соответствует альтернативному часовой пояс в списке часовой пояс Windows и нажмите кнопкуДалее.
  5. При завершении процесса сопоставления, Msextmzcfg.execategorizes пользователей на следующие группы:
    • Пользователи, имеющие только одного часового пояса (например, пользователи, имеющие часовой пояс CDO, Outlook Web Access, Outlook или повторяющегося собрания) или пользователей, которые имеют несколько часовых поясов, которые сопоставляются же часовой пояс операционной системы
    • Пользователи, имеющие несколько часовых поясов, которые сопоставляются часовых поясов для операционных систем
    • Пользователи, не имеющие любые сведения о часовом поясе
    Msextmzcfg.exe позволяет сохранять список пользователей «несуществующие» и «конфликт» в отдельном текстовом файле. Чтобы сделать это, выполните следующие действия.
    1. Введите в области Пользователи с конфликтующие сведения о часовом поясеConflictUsers.txt в поле Выходной файл .
    2. Введите в области Пользователи с не данные о часовом поясеNonExistent.txt в поле Выходной файл .
  6. На странице конфигурации обновления календаря предоставляют сведения, необходимые для создания пользователя список входных файлов INI-файлов и пакетных файлов, используемого для обновления почтовых ящиков. Для dothis выполните следующие действия:
    1. В списке выберите часовых поясов, которые нуждаются в обновлении щелкните флажок для часовых поясов, которые требуется обновить.
    2. В поле Число пакетных файлов введите число пакетов пользователей, которые требуется создать.

      Эта информация полезна, если требуется ускорить обновление во время выполнения. Для этого нарушения большой список пользователей на более мелкие пакеты и затем работает несколько экземпляров Msextmz.exe в режим обновления. Для этого на отдельных компьютерах и у каждого экземпляра процесса Msextmz.exe отдельный пакет пользователей.

      Примечание На одном клиентском компьютере нельзя запустить несколько экземпляров Msextmz.exe.
    3. В поле путь Tzmove.exe введите путь программой Outlook и его параметры. Если требуется обновить только повторяющиеся собрания нажмите кнопку флажок только типовой собраний .
    4. В поле Почтовый ящик задержка (сек) введите количество секунд, на которое требуется отложить создание профиля между обновление почтовых ящиков. Рекомендуется использовать значение по умолчанию 0 секунд.
    5. В поле На почтовый ящик ожидания (в минутах) введите время в минутах, для которых требуется средство Outlook, чтобы ожидать, прежде чем она будет задержана. Рекомендуется использовать значение по умолчанию равное 15 минутам.
  7. Нажмите кнопку Готово. Msextmzcfg.exe создает asubdirectory в текущем каталоге выполнения. Понятное имя сервера Exchange, называется thesubdirectory. Subdirectorycontains следующие файлы:
    • MSExTmz_x.ini

      Этот файл является INI-файл, используемый Msextmz.exe для работы в режиме обновления. X — Это номер партии.
    • Mailboxes_X.txt

      Этот файл является входной файл списка пользователей, используемый Msextmzcfg.exe для работы в режиме обновления. X — Это номер партии.
    • MSExTmz_X.bat

      Этот файл является пакетный файл в режиме обновления для пользователей, указанных в Mailboxes_, Msextmzcfg.exeXtxt-файл.
    • NonExistent.txt

      Этот файл содержит список пользователей, которые не имеют сведений о часовом поясе в почтовом ящике.
    • ConflictUsers.txt

      Этот файл содержит список пользователей, имеющих конфликтов часового пояса.
  8. Найдите вложенный каталог, который совпадает с именем сервера, откройте файл Mailboxes_x.txt в блокноте, удалите записи почтового ящика ресурса или системы и сохраните файл Mailboxes_x.txt.
  9. Выполните следующие действия.
    1. Запустите Outlook и убедитесь, что Outlook правильно выполняет вход на сервер с использованием профиля по умолчанию и без запроса выберите профиль.
    2. Убедитесь, что запросы не отображаются во время запуска Outlook. Msextmz.exe не может выполняться при наличии приглашения.
    3. Убедитесь, что следующий файл не существует.
      %USERPROFILE%\Local Settings\Application Data\Microsoft\Outlook\Extend.dat
      Если этот файл существует, переименуйте его.
    Обновите почтовые ящики, перейдя в подкаталог, isnamed после сервера и путем выполнения пакетных файлов по одному. Для успешного выполнения thebatch файлы, необходимо использовать учетную запись, обладающую правами на полный почтовый ящик Accessand Отправить как для почтовых ящиков, которые необходимо обновить.

Что делать после запуска средства Exchange

Установка обновлений

После завершения обновления всех серверов Exchange в вашей среде, необходимо установите следующее обновление на серверах Exchange:
926666 Обновление для изменения летнего времени в 2007 Пакет обновления 2 для Exchange 2003

Известные проблемы

  • Повторяющиеся собрания, которые создаются в Outlook Web Access не обновляются с помощью средства Exchange

    При установке обновления, описанного в статье базы знаний 926666 на сервере Exchange server перед обновлением почтовые ящики повторяющихся собраний, созданных в Outlook Web Access не обновляются с помощью средства Exchange. Чтобы устранить эту проблему, удалить обновление 926666, запустите средство Exchange и снова установите обновление 926666 на сервере Exchange.
  • После запуска средства Exchange необходимо перезапустить Exchange 2007

    Для Exchange 2007 Outlook Web Access для правильного отображения элементов календаря после запуска средства Exchange необходимо перезапустить службы Exchange.
  • Не удается установить средство Exchange

    Не будут успешно установлены средства Exchange существует ifeither из следующих разделов реестра:
    • HKEY_CLASS_ROOT\Outlook.Application.9
    • HKEY_CLASS_ROOT\Outlook.Application.10
    В этом случае появляется следующий ошибка сообщение whenyou попытаться установить средство Exchange:
    Не удается установить средства модификации базового адреса Exchange ServerCalendar с этой версией MicrosoftOutlook.
    Чтобы обойти эту проблему, удалите следующие разделы реестра, установите средство Exchange и затем Восстановление разделов реестра.
  • Часовой пояс может быть неоднозначным

    Повторяющиеся элементы календаря, созданные с использованием DST2006 правил в часовой пояс тихоокеанскому (PST) в Outlook 2003 или earlierversion Outlook не обновляются с помощью программы Outlook. Это affectsMsextmz.exe проблема, так как Msextmz.exe запускает средство Outlook.

    Для работы aroundthis проблемы, измените реестр, чтобы удалить Мексика часовых поясов на thecomputer, на котором выполняется Msextmz.exe. Запустить Msextmzcfg.exe в режим обновления, andthen восстановить Мексика часовых поясов в реестре. Чтобы сделать это, выполните thesesteps.

    Важно Этот раздел, метод или задача содержит действия, о том, как внести изменения в реестр. Однако при неправильном изменении реестра могут возникнуть серьезные проблемы. Поэтому точно выполняйте следующие действия. Для дополнительной защиты создайте резервную копию реестра перед внесением изменений. Затем при возникновении неполадок можно восстановить реестр. Для дополнительных сведений о способах создания резервной копии и восстановлении реестра щелкните следующий номер статьи базы знаний Майкрософт:
    322756 Как провести резервное копирование и восстановление реестра Windows
    1. Создайте резервную копию реестра.
    2. Нажмите кнопку Пуск, выберите пункт выполнить, тип regedit, а затем нажмите кнопку ОК.
    3. Откройте следующий раздел:
      Параметру NT\CurrentVersion\Time зоны
    4. Мексиканское время (зима)правой кнопкой мыши и выберите команду Удалить.
    5. В диалоговом окне Подтверждение удаления раздела нажмите кнопку Да.
    6. Мексиканское время (зима) 2правой кнопкой мыши и выберите команду Удалить.
    7. В диалоговом окне Подтверждение удаления раздела нажмите кнопку Да.
    8. Запустите Msextmzcfg.exe в режим обновления.
    9. Восстановление реестра из резервной копии, созданной на этапе 1.
    Дополнительные сведения о резервном копировании и восстановлении реестра щелкните следующий номер статьи базы знаний Майкрософт:
    256986 Сведения о реестре Windows для опытных пользователей
  • Нет ограничения на количество почтовых ящиков, которые могут обрабатываться на сервере

    В режиме списка пользователей и извлечения часового пояса mode,Msextmz.exe может обрабатывать только 65 535 почтовые ящики на сервере. Если hasmore сервер более 65 535 почтовые ящики, некоторые почтовые ящики не будут обработаны.
  • Могут возникать конфликты с конференции места назначения

    При использовании программы Outlook собрания, сдвигаются, правильное время. Тем не менее это может вызвать конфликт с roomassignments конференции.

    Если на компьютере Exchange Server 2007, мы recommendthat вам предельное конфликт помощник по резервированию ресурсов в Exchange2007 3. После обновления всех почтовых ящиков, конфликты будут автоматически beresolved.

    При использовании непосредственную регистрацию или агент автоматического принятия, выполните следующие действия для обновления почтовых ящиков ресурса.

    Для прямого резервирования

    Примечание Следующие действия требуют загрузить последние исправления для средства обновления данных часового пояса для Microsoft Office Outlook (Tzmove.exe).
    1. Запустите Tzmove.exe (мастер) с параметром командной строки /FORCEREBASESUPPRESSALLUPDATES для почтовых ящиков ресурса.
    2. Запустите Tzmove.exe в обычном режиме для всех почтовых ящиков.
    После обновления завершена, если программа Outlook используется для входа на andto почтовые ящики ресурса читать обновления, которые отправляются на шаге 2, эти обновления собрания отображаются как «под вопросом» в календаре почтового ящика ресурса. Если ни один вход в почтовый ящик ресурса, исходного приглашения, которые были обновлены на шаге 1 будет отображаться как «принято» в календаре почтового ящика ресурса.

    Дополнительные сведения о FORCEREBASESUPPRESSALLUPDATES щелкните следующий номер статьи базы знаний Майкрософт:
    933146 Описание пакета исправлений для средства обновления данных часового пояса для Microsoft Office Outlook


    Для автоматического принятия агента
    1. Убедитесь, что запущен агент принимает автоматически на сервере.
    2. Обновление летнего времени на клиентском компьютере.
    3. Запустите Tzmove.exe (мастер) с параметром командной строки /FORCEREBASESUPPRESSALLUPDATES для почтовых ящиков ресурса, в которых установлен агент автоматического принятия включен.
    4. Еще раз убедитесь, что запущен агент принимает автоматически. Это важно, чтобы убедиться в том, что пользователи будут получать почту приемки для обновленного собрания, которые они организованы.
    5. Запустите Tzmove.exe в обычном режиме с других почтовых ящиков.
  • Общие папки календарей

    Средство Exchange не обновляет открытые Foldercalendars. Дополнительные сведения о способах обновления общей папки на календарь Outlook средства см.
  • Необходимо использовать «Запуск от имени» в командной строке

    Если планируется запускать Msextmz.exe с помощью «Запуск от имени» в командной строке убедитесь в том, что использовать «Запуск от имени» для настройки следующие значение PickLogonProfile в реестре.
  • Msextmz.exe может перестать отвечать на запросы

    Проблемы, связанные с серверами глобального каталога может causeMsextmz.exe перестает отвечать на запросы. В этом случае выполните следующие действия.
    1. Остановите Msextmz.exe.
    2. Если параметр Logfile в Msextmz.ini, узнайте время обработки почтовый ящик. Операция Обработки почтового ящика в файл журнала содержит различающееся имя пользователя почтового ящика, которая обрабатывалась при Msextmz.exe перестает отвечать на запросы.

      Если не был задан параметр Logfile в Msextmz.ini, обработка почтовых ящиков сведения можно найти в окне командной строки.

      Все почтовые ящики пользователей, которые следуют после почтового ящика, которая обрабатывалась при Msextmz.exe перестает отвечать на запросы не обрабатываются. Это относится к почтовым ящикам в ServerName_TimeZone_Input_File.txt, используемый в качестве входного файла для данного тестового запуска.
    3. Создайте новый входной файл, содержащий пользовательский DNs почтовых ящиков, которые не были обработаны.
    4. Перед запуском Msextmz.exe снова с этот новый входной файл, убедитесь, что обработке пользователей в файле ошибок, генерируемые предыдущего запуска.
  • В той же среде можно запустить средств Outlook и Exchange

    В той же среде можно запустить средств Outlook и Exchange. При запуске средства Exchange для почтового ящика, hasalready были обновлены программой Outlook, или наоборот, могут возникнуть noside эффекты. Однако если администратор запускает средство Exchange, есть noneed для пользователей отдельно запускать программу Outlook.
  • Напоминания отображаются позже, чем ожидалось

    Non-meetingreminders для почтовых ящиков, которые обновляются с помощью средства Exchange будет не beupdated, если Outlook не подключился к почтовому ящику в оперативном режиме.В этом случае будут выводиться напоминания один час позже, чем ожидалось.

    Если Outlook hasnever подключен в интерактивном режиме, вы mustadjust неправильный напоминания для встреч в календаре находит средство обновления часового пояса theOutlook. Если Outlook не подключился в Onlinemode, папка поиска напоминаний не существует в почтовом ящике. Средство Thereforethe не будет обновлять элементы электронной почты, контакты и другие сведения. Forexample, средство не обновляет элемент электронной почты, чтобы проследить за время ata в будущем напоминание или напоминание на задачу с напоминанием.
  • Время выполнения может быть длительным

    Msextmz.exe является однопоточным. Таким образом, он может takemany часов, запустите средство для многих почтовых ящиков.

    Для ссылки отдел ИНФОРМАЦИОННЫХ технологий Майкрософт мог обновить около 53,000 почтовые ящики в 16 часов с помощью девяти клиентов. Это равнозначно частоту обновления 6.13 почтовых ящиков в минуту на каждый клиент.

    Число участников из приглашения на собрание не должны влиять на время работы в режиме обновления. Это происходит потому, что с точки зрения клиента, отправить обновление собрания один получатель принимает одновременно как отправить обновление собрания ста получателям.

    Число приглашенных влияет на количество копий обновление собрания. Тем не менее это проблема поток почты, а не время выполнения.
  • Журнал событий может привести к нехватке места после обновления нескольких почтовых ящиков

    Tzmove.exe создает информационные события, которое содержит исходный код события 32 TZMOVE для каждого успешного обновления. Большое количество событий может вызвать превышение выделенного места на диске журнала приложений. В режиме обновления Msextmz.exe использует эти события для определения успешного выполнения Tzmove.exe. Если Msextmz.exe не удается найти соответствующее событие Tzmove.exe, связанный с почтовым ящиком, пытается обновить Msextmz.exe, Msextmz.exe считает, что обновление выполнить не удалось. Поэтому Msextmz.exe входе различающееся имя почтового ящика в файл error.txt. Чтобы избежать этой проблемы, мы рекомендуем, что максимальное значение размера журнала событий и разрешить перезапись.
  • "Не удается установить, так как обнаружены предыдущие версии «Средство обновления календаря Microsoft Exchange». Удалите их и снова запустите программу установки."

    Если ранее установлено средство обновления календаря Exchange версии 1.0, необходимо удалить версию 1.0 перед установкой версии 2.0. Версия 1.0 распространялось как самораспаковывающийся исполняемую программу, которая содержит двух пакетов MSI: Msextmz.msi и Msextmzcfg.msi. Оба пакета необходимо удалить перед установкой версии 2.0. Если по-прежнему возникают неполадки при установке версии 2.0, попробуйте повторно установку и удаление версии 1.0 с пакетами *.msi, а не с помощью средства Установка и удаление программ. Затем перезагрузите компьютер и установите версию 2.0. Если другие способы не помогают, непосредственно из пакетов *.msi извлечь двоичные файлы.

Сообщения об ошибках и способы решения проблем

  • Не удается найти почтовый ящик timezone:Error 0x80004005
    Это сообщение об ошибке может быть вызвано любой из следующих проблем:
    • Средству не удалось найти все значения часового пояса в почтовом ящике этого пользователя. Чтобы устранить эту проблему, попробуйте добавить "ReadCalendarTimeZones = 1" (без кавычек) в файл Msextmz.ini может заставить средство для анализа повторяющихся элементов календаря для сведения о часовом поясе. Новый входной файл можно создать с помощью DNs из журнала ошибок, полученных из последнего выполнения.
    • Tzmove.exe ссылка в каталоге неправильно. Чтобы устранить эту проблему, извлеките загруженный установочный файл в папку, где находится или обновить Msextmz.ini, чтобы включить полный путь к установленным на компьютере, который используется Tzmove.exe Msextmz.

      Примечание Если загрузить средство обновления данных часовых поясах для Microsoft Office Outlook, файл Tzmove.exe — установщик для реального инструмента. Ссылки на установщик приведет к ошибкам при выполнении Msextmz.
    • Учетной записи, используемой для запуска Msextmz не имеет полного почтовому ящику и не делегированы соответствующие разрешения Exchange. Чтобы устранить эту проблему, запустите сценарий «Grant почтовому ящику» с компьютера с сервером Exchange Server.
  • Не удается обработать почтовый ящик/o =CONTOSO/ OU =ПЕРВАЯ АДМИНИСТРАТИВНАЯ ГРУППА/ CN =ПОЛУЧАТЕЛИ/ CN =TESTMB01 -0x80004005
    Внимательно просмотрите legacyExchangeDN и внесите необходимые изменения. Чтобы убедиться, что значение является точным, с помощью средства ADSIEdit скопируйте и вставьте это значение.
  • Не удается открыть почтовый ящик таблицу для сервера/o =CompanyRoot/ OU =ОН/ CN = configuration, cn = серверы, cn =EXCH01. Ошибка 80040115
    Это ошибка RPC. Внимательно просмотрите legacyExchangeDN и внесите необходимые изменения.
    Выберите допустимый сервер
    Необходимо различающееся имя (DN) сервера. Различающееся имя должна напоминать следующий DN.
    ServerDN: / O = CompanyRoot/OU = IT / cn = Configuration, cn = серверы, cn = EXCH01
  • Ошибка при инициализации приложения (0xc0000135). Нажмите кнопку ОК для завершения работы приложения
    Это сообщение об ошибке возникает, если платформа.NET Framework 2.0 не установлена.
  • HrTestMailboxAccess: не удается открыть почтовый ящик - 0x8004011D.
    Если появляется это сообщение об ошибке во время операции обновления учетной записи, которая используется не имеют полный доступ к почтовому ящику. Учетная запись должна иметь разрешения полного доступа ко всем почтовым ящикам для средство, чтобы иметь возможность обновить почтовые ящики.

    Убедитесь, что разрешения были предоставлены с помощью метода, описанного в разделе «Настройка разрешений для Msextmz.exe».

Ссылки

Сценарий «Разрешения Grant почтового ящика»

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 Января 2007 г.Редакционные
3.007 Февраля 2007 г.Полная версия о перезаписи
3.108 Февраля 2007 г.URL-адрес центра загрузки обновленный
3.208 Февраля 2007 г.Редакционные
4.009 Февраля 2007 г.Добавлены новые сведения о конфликтах комнаты конференции
4.112 Февраля 2007 г.Добавлены Exchange 2003 Enterprise Edition в разделе «Данная статья применима к»
4.212 Февраля 2007 г.Исправленная опечатка
4.312 Февраля 2007 г.Исправлен номер подзадачи в заметку
5.013 Февраля 2007 г.Сведения о дополнительной виртуальной машины в разделе «Как установить средство Exchange»
6.015 Февраля 2007 г.Перезаписи раздела «Позже, чем планировали выводиться напоминания»
7.015 Февраля 2007 г.Сведения о загрузке добавлены для виртуальной машины для пакета средства обновления календаря Exchange
8.016 Февраля 2007 г.Добавлены сведения о средствах управления системой Exchange в разделе «Что необходимо сделать перед запуском средства Exchange»
8.119 Февраля 2007 г.Исправлено имя файла в разделе «Как выполнить Msextmzcfg.exe»
8.220 Февраля 2007 г.Добавлено пространство между имя_пользователя и имя_файла в разделе сценарий «Предоставить право почтового ящика»
9.020 Февраля 2007 г.Вариант статьи
10.020 Февраля 2007 г.Обновление внутренних метаданных
10.120 Февраля 2007 г.Исправленная опечатка
10.220 Февраля 2007 г.Исправленная опечатка
10.320 Февраля 2007 г.Исправленная опечатка
10.421 Февраля 2007 г.Исправленная опечатка
11.022 Февраля 2007 г.Добавлены сведения о версии 2 средства Exchange
11.122 Февраля 2007 г.Исправленная опечатка
11.223 Февраля 2007 г.Добавлена таблица для указания версии статьи
12.026 Февраля 2007 г.Добавлены сведения о пространстве журнала событий и добавлены сведения о сообщениях об ошибках и способы устранения этих ошибок
13.027 Февраля 2007 г.URL-адрес удаленной загрузки виртуальной машины сведения и добавлены перекрестные ссылки на 933185
14.028 Февраля 2007 г.В разделе «Известные проблемы» изменен текст первого маркера для включения KB926666
15.027 Февраля 2007 г.Сведения о дополнительной виртуальной машины
16.028 Февраля 2007 г.Добавлены сведения о последние исправления для средстве обновления данных часового пояса для Microsoft Office Outlook (Tzmove.exe) в разделе «для прямого бронирования". Добавлены перекрестные ссылки для 933146
16.128 Февраля 2007 г.Исправление тегов таблицы
17.001 Марта 2007 г.Удалены сведения о Exchange Server 5.5
18.05 Марта 2007 г.Переписан изменения таблицы
19,008 Марта 2007 г.Добавлены сведения о сообщении об ошибке «HRTestMailboxAccess»
19.1. в случае13 Марта 2007 г.Удалить повторяющиеся абзац о количестве приглашенных в приглашении на собрание
19.219 Марта 2007 г.Обновленные версии таблицы
19.321 Марта 2007 г.Данные удалены виртуальной машины в разделе «о программе Exchange»
19.403 Апреля 2007 г.Обновленный раздел Введение
19.504 Августа 2007 г.Обновленный заголовок
21.006 Сентября 2007 г.Добавлены сведения о статье 941018 с использованием новых средств
21.107 Сентября 2007 г.Удалены устаревшие ссылки статьи базы знаний Майкрософт.

Свойства

Код статьи: 930879 - Последний отзыв: 19 ноября 2013 г. - Revision: 6.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 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.
Эта статья на английском языке: 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