Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

Exchange Takvimi güncelleştirme Aracı'nı kullanarak gün ışığından yararlanma saati nasıl

ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.

Makalenin İngilizcesi aşağıdaki gibidir: 941018
Giriş
Gün ışığından yararlanma saati, Gün Doğumu ve gün batımı daha sonraki bir saatte ortaya saatler önceden ayarlayabilir, böylece bir sistemdir. Daha fazla Yaz Akşamları efekttir. Birçok ülkede gün ışığından yararlanma saati uyun. Gün ışığından yararlanma saati başlar ve biter, bu ülkelerin çoğu kendi kural ve yönetmelikler için gerekir.

Yıl yıl gün ışığından yararlanma saati (DST) tarihleri değişebilir. Microsoft Outlook kullanıcıları DST kuralları değiştirmek her zaman Outlook takvimine güncelleştirmeniz gerekir. Önceki DST kuralları geçerli DST kurallarını arasındaki tarihler için bu makaledeki "DST uzunca." denir

Bu makalede, DST uzunca sırasında ortaya çıkan adresi takvim öğeleri Outlook için gerçekleştirebileceğiniz eylemler açıklanmaktadır. Bu makalede ayrıca Microsoft Exchange Server'da yeni DST kurallarına göre saklanır takvim öğelerini güncelleştirmek için atılması gereken eylemleri açıklar. Bu makalede sunulan çözüm, Microsoft Exchange Takvimi güncelleştirme Aracı'nı ("Exchange aracı") içerir.

Gün ışığından yararlanma saati değişiklikleri için (2007 DST) 2007'de, etkilenen tüm Microsoft ürünleri için hazırlama hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin: 2011'de gün ışığından yararlanma saati (DST) iptal etmek için bir yasa Rusya devlet benimsenen. Daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin: Rusça daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
Daha fazla bilgi

Exchange aracı hakkında

Microsoft Windows için DST güncelleştirmelerini yükledikten sonra DST değişikliği dönemlerde gerçekleşen tüm eski randevuları hatalı bir saat sonra gerçekleşen olarak görüntülenir. Bu yinelenen ve tek örnekli randevular için geçerlidir. Bunlar doğru Outlook, Microsoft Office Outlook Web Access ve birlikte çalışma veri nesneleri (CDO) tabanlı uygulamaları görüntülenir, böylece bu randevuları güncelleştirmeniz gerekir.

Outlook saat dilimi verileri güncelleştirme Aracı'nı Microsoft Office Outlook ("Outlook aracı") adlı bir araç sağlar. Bu araç, kullanıcıların kendi takvimlerini güncelleştirmek sağlar.

Saat dilimi verisi güncelleştirme aracı hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
931667 Gün ışığından yararlanma saati değişiklikleri 2007'de Microsoft Office Outlook için saat dilimi verileri güncelleştirme Aracı'nı kullanarak nasıl
Exchange Takvimi güncelleştirme Aracı'nı ("Exchange aracı") yöneticilerinin karşılaştığı güçlükler Outlook aracı, yaygın olarak tüm kullanıcılara dağıtma ve her kullanıcının Outlook araç düzgün çalışır emin önlemenize yardımcı olur.

Exchange Aracı'nın üst düzey açıklaması

Exchange aracı iki ayrı yürütülebilir dosyadan oluşur. Bu dosyalar aşağıdaki tabloda açıklanmıştır.
Dosya adı Açıklama
Msextmz.exe Bu çalıştırılabilir dosyayı Exchange Server çalışan bir sunucudaki posta kutularını gelen saat dilimi bilgilerini ayıklar. Bu çalıştırılabilir dosyayı ayrıca posta kutusu takvimler için belirtilen kullanıcıların listesini güncelleştirir.
Msextmzcfg.exe Bir Exchange Server sunucusunu güncelleştirilirken söz konusu adımları çoğunu gerçekleştiren bir yapılandırma aracı bu yürütülebilir dosyadır.

Exchange aracının yeni sürümü hakkında

Müşteri görüşleri doğrultusunda, Exchange aracın yeni bir sürümü 13 Ağustos 2007 tarihinde yayımlanmıştır. Bu makalede Exchange aracı yeni sürümüne başvurur. Exchange Aracı'nın eski bir sürümünü çalıştırıyorsanız, onu kaldırın ve sonra yeni sürümü yükleyin.

Exchange aracın yeni sürümünü aşağıdaki geliştirmeleri içerir:
  • Takvim ve saat dilimi ayıklama fourfold işlemleri aresped güncelleştirin.
  • Kullanıcı Yapılandırma Aracı morestreamlined arabirimidir ve sezgisel.
  • Konferans odaları ve resourcemailboxes güncelleştirme becerisini şimdi yapılandırma aracı Yerleşik olarak bulunur.
  • Kullanıcı posta kutularına güncelleştirme becerisini şimdi theconfiguration araca yerleşik olarak bulunur.
  • Sorun giderme şimdi belgedir theExchange aracıyla eklenen ve yapılandırma aracı ile tümleşiktir.
  • Saat dilimi ayıklama algoritması ve hata handlingcapabilities geliştirildi.
  • Günlük kullanımı daha kolay bir işlemdir.

Exchange aracını çalıştıran riski

Exchange Aracı'nı çalıştırdığınızda, tek örnekli randevular doğru güncelleştirilmemiş olabilir bir riski yoktur. Örneğin, kullanıcı tarafından oluşturulan sonra işletim sistemi güncelleştirildiği Tek Örnekli randevular yanlış güncelleştirilebilir.

Bu riski azaltmak için aşağıdaki yöntemlerden birini kullanın:
  • Bu, updateclient bilgisayarlar ve posta kutusu takvimler güncelleştirdiğinizde arasındaki zaman aralığını azaltın.
  • Kuruluştaki bilgisayarlara güncelleştirdiyseniz uzun bir timeagoGelişmiş ayarlarıYalnızca güncelleştirmesi Yinelenen toplantılar ayarı kullanın.

    Genellikle, insanlar değil createsingle örnek randevu birçok ay önceden yapın. DSTupdates birçok ay önce yüklenmişse, bu nedenle, tek örnek meetingsthat Sonbahar içine DST uzunca bir çoğunu newDST geçiş kuralları kullanarak oluşturulmuş. Bu toplantılar güncelleştirilmesi gerekmez.
  • Tüm istemci computerswere güncelleştirildiğinde tam tarihi biliyorsanız,Gelişmiş ayarları' nda İşletim sistemi düzeltme tarihi ayarını kullanın. Tarih belirtilmemişse, bu tarihten sonra oluşturulan tek instanceappointments Exchangetool tarafından güncelleştirilmez.
Not Windows Vista çalıştıran bir istemci bilgisayarda Outlook veya Exchange aracını çalıştırın ve posta kutularını ev saat dilimi Yeni Zelanda Standart Saati olduğu karşı aracını çalıştırırsanız, 1 Ocak 2008 ve sonrasında aracı ikinci kez çalıştırmalısınız. Daha fazla bilgi için "bilinen sorunlar" bölümüne bakın.

Posta kutularını güncelleştirmek için Seçenekler

Aşağıdaki tabloda 2007 DST saat dilimi kuralları kullanmak için kullanıcı posta kutularını güncelleştirmek için kullanabileceğiniz beş seçenekleri listeler.
Seçeneği Uzmanları Simgeler
Her kullanıcı için Outlook araç dağıtabilir ve sonra kullanıcıların kendi posta kutularına güncelleştirmek için isteyin. Bu seçenek Exchange Aracı'nı çalıştırmak ile ilişkili risk önler. Tüm kullanıcıların Outlook aracı doğru ve zamanında çalışacağını garanti edilmesi zordur.

Outlook yüklü olmayan kullanıcılar Outlook aracı çalıştırmak mümkün olmayacaktır.

Kullanıcılar için karışıklık azaltmak için ek eğitim çaba harcamanız gerekir.
Exchange etkilenen tüm kullanıcıları ve sunucuları karşı aracı. Bu seçenek kullanıcılar için kolaylaştırılmış bir deneyim sağlar. "Exchange Aracı'nı Çalıştırma Risk" bölümünde açıklandığı gibi Exchange aracını çalıştıran ile ilişkili bir riski yoktur.
Yalnızca yinelenen randevuları güncelleştirmek için Exchange aracını çalıştırın. Kullanıcılar, kendi posta kutuları bulunan tek örnekli randevular Outlook aracını kullanarak güncelleştirmek istiyorum. Tek Örnekli randevular yanlış güncelleştirilmesini daha az risk yok. Outlook araç çalıştırmanın olumsuz Exchange aracını çalıştırma ile ilgili olumsuz birleştirilir.
Exchange aracı ya da Outlook Aracı'nı çalıştırın. Bunlara ait takvimlerin inceleyin ve randevuları gerektiği gibi yeniden kitap için kullanıcılara sor. Bu seçenek Exchange Aracı'nı çalıştırmak ile ilişkili risk önler. Tüm kullanıcılar etkilenen tüm randevuları yeniden kitap sürece bazı takvim öğelerinin bir saat kapalı DST uzunca sırasında olacaktır.

Kullanıcılar için karışıklık azaltmak için ek eğitim çaba harcamanız gerekir.
Her kullanıcı için Outlook araç dağıtabilir ve sonra kullanıcıların kendi posta kutularına güncelleştirmek için isteyin. Daha sonra kullanıcılar Outlook aracı çalıştırıp çalıştırmadığınızı belirlemek için Exchange aracının saat dilimi ayıklama modu kullanın.

Kullanıcılar Outlook aracı çalıştırmıyorsanız, yönetici Exchange aracını çalıştırabilirsiniz.
Bu seçenek aracının zamanında çalıştırmayan kullanıcılar riskini azaltır ve Exchange Aracı'nı çalıştırmak ile ilişkili risk önler. Kullanıcıların Microsoft Office Outlook 2007 kullanıyorsanız, bir seçenek değil.

Exchange Aracı nasıl yüklenir

Exchange Takvimi güncelleştirme Aracı'nı bir kendi kendine ayıklanan yürütülebilir dosya (Msextmz.exe) biçiminde indirilebilir. Bu araç Microsoft Download Center indirilebilir:

Karşıdan yüklemeExchange Takvimi güncelleştirme Aracı paketini şimdi karşıdan yükle.

Exchange aracı yükleme ve kullanma yardımcı olmak için bir sanal makine oluşturulur. Sanal makine, Microsoft Windows Server 2003, Outlook 2007, Microsoft Office Excel 2007 ve Microsoft Office Word 2007 dayanır. Sanal makine ve Microsoft Virtual Server 2005 R2 her iki Microsoft Virtual PC 2004'te çalışır.

Exchange Takvimi güncelleştirme Aracı'nı sanal makinesi hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
933185 Bir sanal makine bir Exchange kuruluşunda gün ışığından yararlanma saati 2007 Takvim güncelleştirmeleri dağıtmak kullanılabilir
Microsoft Destek dosyalarını karşıdan yükleme hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
119591 Microsoft destek dosyaları Çevrimiçi Hizmetler'den nasıl alınır
Microsoft bu dosyada virüs taraması yapmıştır. Microsoft, dosyanın postalandığı tarihte kullanılabilir en güncel virüs tarama yazılımını kullanmıştır. Dosya, üzerinde herhangi bir yetkisiz değişiklik yapılmasını engellemeye yardım eden geliştirilmiş güvenliğe sahip sunucularda depolanır.

Exchange aracı tarafından desteklenen diller

Exchange aracı yalnızca İngilizce'dir. Araç yalnızca İngilizce (ABD) bilgisayarda çalışır.

Exchange Server'ın Exchange araçla uyumlu sürümleri

Bu araç Exchange posta kutuları Exchange Server'ın aşağıdaki sürümlerinde güncelleştirebilirsiniz:
  • Microsoft Exchange Server 2007 Enterprise Edition
  • Microsoft Exchange Server 2007 Standard Edition
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange 2000 Server Enterprise Edition
  • Microsoft Exchange 2000 Server Standard Edition

Exchange aracı tarafından desteklenen işletim sistemleri

Exchange aracı aşağıdaki işletim sistemleri 32-bit sürümlerinde çalışır:
  • Microsoft Windows Server 2003
  • Microsoft Windows XP
  • Windows Vista

Exchange aracını çalıştırmadan önce yapmanız gerekenler

Güncelleştirmeleri Yükle

Exchange aracını çalıştırmadan önce istemci ve sunucu bilgisayarlar doğru güncelleştirilmiş olduğundan emin olun. Bunu yapmak için istemcilerde ve sunucularda Windows DST güncelleştirmelerini yükleyin. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklayın:
942763 numaralı Microsoft Windows işletim sistemleri için Aralık 2007 toplu saat dilimi güncelleştirmesi

Microsoft Exchange Server 2003 Service Pack 2 (SP2) çalıştırıyorsanız, kuruluşunuz için uygun birini veya her ikisini aşağıdaki güncelleştirmelerden birini yükleyin:
  • Güncelleştirme 911829
  • Güncelleştirme 924334
Bu güncelleştirme hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
911829 Outlook Web Erişimi'nde oluşturma çerçeve etkinleştirmek için tıklatmanız gerekir veya herhangi bir düzenleme görevlerini gerçekleştirmek çalıştığınızda bir hata iletisi alıyorsunuz
924334 İleti oluştur formunda, Exchange Server 2003'te Internet Explorer 7.0 ve Outlook Web Access istemcisi S/MIME denetimi yüklendikten sonra yanıt vermiyor
Kullanıcılar, Kudüs, merkezi Brezilya veya E. Güney Amerika zaman dilimi içinde ise, lütfen aşağıdaki Microsoft Bilgi Bankası makalesindeki yönergeleri okuyun:

943390 Belirli bir saat diliminde Gün ışığından yararlanma saati değişiklikleri ayarlamak için Outlook saat dilimi verileri güncelleştirme Aracı'nı kullandığınızda, bazı Outlook Takvim öğelerini yanlışlıkla rebased

Sistem gereksinimlerini doğrulama

Yalnızca aşağıdaki koşullar doğru olduğunda bir bilgisayarda Exchange aracını çalıştırmanız gerekir:
  • Bilgisayarda Microsoft Office Outlook 2003 Service Pack 2 (SP2) veya Microsoft Office Outlook 2007 bulunmaktadır.
  • Bilgisayarın Outlook saat dilimi verileri Toolinstalled vardır.
  • İstemci bilgisayarda Microsoft .NET Framework sürüm 2.0 yüklü.
Exchange Server veya Exchange Sistem Yönetim Araçları çalıştıran bir bilgisayarda Exchange aracını çalıştıramazsınız. Exchange aracını Exchange Server veya Exchange Sistem Yönetim Araçları çalıştıran bir bilgisayara yüklemeye çalışırsanız, aşağıdaki hata iletisini alırsınız:
Microsoft Exchange Takvimi güncelleştirme Aracı'nı, Microsoft Exchange ile yüklenemez.

İzinler ve diğer kullanıcı gereksinimlerini doğrulama

Aşağıdaki koşulların doğru olduğundan emin olun:
  • Her ExchangeServer ileti veritabanı (MDB) izinleri güncelleştirilmiş bilgi deposunu yönetmek.
  • Farklı Gönder izinlerini tüm posta kutuları areupdated.
  • Tüm posta kutularına areupdated tam posta kutusu erişimi izinleri.
  • Yerel yönetici izinleri olan computerthat Exchange aracını çalıştıran verilir.

"Posta kutusu izin ver" komut dosyası hakkında

Bir etki alanı kullanıcı tüm posta kutularına tam posta kutusu erişimi ve Farklı Gönder izinleri vermek için örnek GrantMailboxPermission.vbs komut dosyası kullanabilirsiniz.

Bu komut dosyası Exchange 2000 Server veya Exchange Server 2003 çalıştıran bir bilgisayarda yalnızca bir Exchange Server Yöneticisi tarafından çalıştırılabilir. Bu komut dosyası Exchange Server 2007 çalışan bir bilgisayarda çalıştırılamaz. Ancak, gerekli izinleri vermek için Exchange Yönetim Kabuğu'nu kullanın.

.Vbs komut dosyası kodunu "Başvurular" bölümünde sağlanmıştır. Bu komut dosyasının çalıştığı iki mod aşağıdaki tabloda açıklanmaktadır.
Mod Komutu Açıklama
Ekle CScript GrantMailboxPermission.vbs – Ekle Etki_alanı_adı \ Kullanıcı_adı Dosya_adı Bu komutu verir Etki_alanı_adı \ Kullanıcı_adı Kullanıcı tam posta kutusu erişimi ve Farklı Gönder izinleri girdi dosyasında listelenen kullanıcı posta kutularına.

Giriş dosyası, kullanıcı posta kutularını eski etki alanı adlarını içeren bir metin dosyası olması gerekir. Bu adları sınırlanması gerekir başı + satır besleme (CRLF).

Komut dosyası GrantMailboxPermission.log dosyası oluşturur. Bu dosya, işlenmiş olan posta kutularının bir kaydıdır. Günlük dosyasının ilk satırı Etki_alanı_adı \ Kullanıcı_adı erişim izni kullanıcı. Bu dosyayı silmeyin. Bu dosya kaldırma modunda kullanılır.

"Reddet" açık erişim kullanıcıya atanmışsa, komut dosyası bilgileri "GrantMailboxPermission.err" adlı bir dosyada kaydeder. Komut dosyası değil verebilir veya değiştirme izni.

Komut dosyası, kullanıcı "erişimi kısıtla" atanmış olan bir güvenlik grubunun bir parçası ise, tam posta kutusu erişimi ve Farklı Gönder izinleri verir. Ancak, kullanıcının posta kutusuna oturum açmak kullanılamaz. Tüm hatalar GrantMailboxPermission.err dosyasına kaydedilir.
Kaldır CScript GrantMailboxPermission.vbs – KaldırBu komutu, GrantMailboxPermission.log dosyasında listelenen posta kutusu için tam posta kutusu erişimi ve Farklı Gönder izinleri kaldırır. Etki_alanı_adı \ Kullanıcı_adı Kullanıcı. , Etki_alanı_adı \ Kullanıcı_adı Kullanıcı GrantMailboxPermission.log dosyasında belirtilir.
Notlar
  • RunningExchange sunucusu olan bilgisayarda bu komut dosyasını çalıştırdığınızda, bir kullanıcı scriptsuccessfully işlediğinde, komut dosyası bir nokta (.) karakteri döndürür. Komut dosyası komut dosyası kullanıcı başarıyla işlemez ünlem pointcharacter (!) döndürür.
  • Çıktı dosyası saat dilimi ayıklama modunun bu komut dosyası için girdi dosyası olarak kullanılamaz. Thisscript giriş dosyası oluşturmak için saat dilimi ayıklama modunda çıktı dosyası intoNotepad içeriğini yapıştırmak, içeriği yeni bir belge olarak kaydedin ve sonra yeni bir belge giriş dosyası kullanın.

Exchange Aracı nasıl kullanılır

Exchange aracını kullanmak için Exchange Takvimi güncelleştirme Yapılandırma Aracı'nı (Msextmzcfg.exe) başlatın. Bu program Takvim güncelleştirme tüm işlem yardımcı olur.

Saat dilimi ayıklama işlemi çalıştırma

Posta kutusu takvimlerini güncelleştirmek için takvim saat dilimini belirlemeniz gerekir. Saat dilimi ayıklama işlemi özellikleri ve kendi saat dilimi belirlemek için posta kutusu Takvim randevuları inceler. Saat dilimi ayıklama işlemi çalıştırmak için şu adımları izleyin:
  1. Hoş Geldiniz sayfasında, İleri' yi tıklatın.

    Not Hoş Geldiniz sayfası yapılandırma aracı anddiscusses Aracı'nı çalıştırmak için gerekli izinleri tanıtır. Bu makale için bir bağlantı sayfası alsoprovides.
  2. Yapılandırma Aracı için ayarları belirleyin. En az 200 megabayt (MB) disk alanı tologging tahsis Werecommend.

    Varsayılan ayarları değiştirmek üzere tıklatırsanızGelişmiş ayarlar. Advancedsettings hakkında daha fazla bilgi için bu yordamı aşağıdaki tabloya bakın.
  3. Güncelleştirmek istediğiniz yerel Active Directorydirectory Hizmet ormanda Exchange sunucuları seçin. Daha sonra saat dilimi ayıklama işlemini başlatmak içinİleri düğmesini tıklatın.

    Not Saat dilimi ayıklama gerçekleştirdiyseniz, skipthis adımı Atla' yı tıklatarak kullanabilirsiniz.

    Bir durum çubuğu, çıktı günlüğü ve zaman zoneextraction işlemin gerçek zamanlı monitör bağlantı görüntülendiðine dikkat edin. Saat dilimi ayıklama işlemi iscomplete sonra İleri' yi tıklatın.

    Hata oluştuysa, hata giderme belgesine alink görüntülenir.
  4. Posta kutularını Hayır saat dilimleri ile sayfa yapılandırın ve sonra calendaritems taramak için İleri ' yi tıklatın.

    Not Posta kutusu düzeyinde propertiesthat kendi saat dilimini belirten sahip olmayan kullanıcılar bulursa, aracın aracı gerçek toplantılar ve appointmentsinside bu takvimleri saat dilimi belirlemek için tarar. Taramak için yapılandırma aracı ile istediğiniz Explicit'i takvim öğeleri belirtebilirsiniz. Patlar sayı öğelerin belirttiğiniz, tarama daha uzun sürer.
  5. Bilinmeyen saat dilimi displaynames gidermek sayfa aracı bilinen işletim sistemi saat dilimi için Tanı Aracı etmediğinden saat dilimleri eşlemek için sizi uyarır. Bunu yaptıktan sonraİleri ' yi tıklatın
  6. Yapılandırma Aracı multipletime bölgelere sahip kullanıcılar bulursa, el ile kullanıcının takvimini güncelleştirileceği kez bölge belirterek çakışmayı istenir. Bunu yaptıktan sonraİleri' yi tıklatın.
  7. Posta kutusu DNs çözülmemiş saat dilimleri ile Kaydet sayfasında, günlük dosyasını kim hiçbir zaman zoneinformation devam ediyor veya çakışan saat dilimi bilgileri hala olan Join kaydedilen kalan kullanıcılar ayırın. İleri' yi tıklatın.
Saat dilimi ayıklama işlemi tamamlanmıştır. Kullanıcılar ve ayıklanan saat dilimlerinin listesi çıktı dosyasında (çıktı.txt) yükleme dizininde bulunur.

Gelişmiş ayarlar

2. adımda önceki yordamın yapılandırabileceğiniz Gelişmiş ayarlar aşağıdaki tabloda açıklanmaktadır.
AyarıİşlevselliğiSenaryoDikkat edilmesi gereken noktalarUygulanabilirlik
Yalnızca Yinelenen toplantılar güncelleştirBu ayar etkilenen yalnızca Yinelenen toplantılar güncelleştirmeleri DST değişikliği tarafından. DST uzunca içinde kalan tek örnekli randevular olup güncelleştirilme bağımsız olarak güncelleştirilmez.Kuruluşunuzdaki bilgisayarlar uzun süre önce güncelleştirildi, bu ayarı kullanın.

Genellikle, insanlar Tek Örnekli randevular birçok ay önceden oluşturma. DST güncelleştirmelerini birçok ay önce yüklenmişse, bu nedenle, DST uzunca düşen Tek Örnekli toplantılar çoğu yeni DST geçiş kuralları kullanarak oluşturulmuş. Bu toplantılar güncelleştirilmesi gerekmez.
Bir kullanıcı bir tek örnek toplantı birçok ay önceden oluşturduysanız, bu ayar belirtilirse, bu toplantı güncelleştirilmez.Bu ayar, tüm posta kutularına, tüm Konferans salonu ve tüm kullanıcı takvimleri uygulanır.
İşletim sistemi düzeltme eki yükleme tarihiBu ayar, oluşturulan veya belirlediğiniz tarihten sonra güncelleştirilen Tek Örnekli randevular güncelleştirilmemiş belirtir.Tüm istemci bilgisayarlar güncelleştirildiği tam tarihi biliyorsanız, bu ayarı kullanın.

Bunu yaptığınızda, güncelleştirme yüklendikten sonra oluşturulan toplantılar güncelleştirilmez. Bu toplantılar yeni saat dilimi kuralları altında kalan.
Bu ayar, yalnızca istemci bilgisayarların tüm 24 saatten az bir süre içinde güncelleştirildi ve yüksek giriş güncelleştirme olduğunda etkilidir. (Yapıldığında yüksek giriş güncelleştirilmiş kuruluştaki bilgisayarlara yüksek yüzde 90 aralığında yüzdesidir.)

Ayrıca, Yöneticiler yalnızca bir güncelleştirme tarihi belirtebilirsiniz. Saat diliminde belirli güncelleştirmeleri ve saat dilimlerini belirli kümelerini karşılık gelen oluşturulan toplantılar güncelleştirilmesi gerekir.

Konferans odaları için dolaylı, yalnızca belirli bir saat dilimindeki odaları olan konferans güncelleştirilmiştir.

Dolaylı kullanıcı posta kutuları için SuppressExchange ayarı veya SuppressAll ayarı belirtilmemişse, saat dilimlerine ait yalnızca kullanıcı posta kutularına güncelleştirildiğinden emin olur.
Bu ayar, tüm posta kutularına, tüm Konferans salonu ve tüm kullanıcı takvimleri uygulanır.
SuppressExchange ve MaxDepthBu ayarlar tüm randevuları etkilenen kullanıcının takviminde neden kullanıcı Düzenleyici bu takvim öğelerinin olup olmadığına bakılmaksızın güncelleştirilecek DST değişikliği tarafından.

Ajanda Takvim öğesinin kullanıcıysa, güncelleştirmeleri Exchange posta kutunuz katılanlara gönderilmez. Exchange posta kutularına sahip olmayan katılanlara güncelleştirmeleri gönderilir.

Hangi katılımcıların belirlemek için gerçekleştirilen dağıtım listesini genişletme düzeyine sahip Exchange ve hangi katılımcıların yapmak MaxDepth ayarını belirtir.
DST uzunca tarafından etkilenen toplantı düzenleyicilerine toplantı güncelleştirmelerini almak için Exchange kullanıcıları istemiyorsanız bu ayarı kullanın.

Kuruluşta Exchange Server Takvim sistemleri varsa ve toplantılar kuruluşunuz dışında Katılanlar dahil etmek için planlanmış olması durumunda SuppressExchange ayarı SuppressAll ayarından daha iyidir.
Herhangi bir toplantıyı güncelleştirme gönderilir, Exchange dışındaki kullanıcılar hariç. Bu nedenle, aynı toplantı kopyalarını olası tüm katılımcılar için güncelleştirildiğinden emin olmak için kuruluştaki her posta kutusu güncelleştirilmesi gerekir.

Bu durum, güncelleştirilmesi gereken posta kutularının sayısı önemli ölçüde artırabilir. Bu nedenle, işlem süreleri artırılabilir.

Büyük, iç içe geçmiş dağıtım listeleri Katılanlar listesinde olduğunda, toplantının katılımcılarını belirlemek ve bu katılımcılar Exchange posta kutularına sahip olup olmadığınızı belirlemek için pahalı bir işlem olduğu. Bu ayarı belirtme ve MaxDepth parametresi için yüksek bir değere ayarlayın, etki alanı denetleyicileri üzerinde önemli bir yük yerleştirilebilir.
Bu ayar yalnızca kullanıcı posta kutularına uygulanır.
SuppressAllBu ayar tüm randevuları etkilenen kullanıcının takviminde neden olan kullanıcı bu takvim öğelerinin organizer olsun güncelleştirilecek DST değişikliği tarafından.

Ajanda Takvim öğesinin kullanıcıysa, güncelleştirmeleri katılanlara gönderilmez.
DST uzunca etkilenen toplantı düzenleyicilerine toplantı güncelleştirmelerini almak için katılımcıların istemiyorsanız bu ayarı kullanın.Herhangi bir toplantıyı güncelleştirme gönderilir. Bu nedenle, aynı toplantı kopyalarını olası tüm katılımcılar için güncelleştirildiğinden emin olmak için kuruluştaki her posta kutusu güncelleştirilmesi gerekir.

Bu durum, güncelleştirilmesi gereken posta kutularının sayısı önemli ölçüde artırabilir. Bu nedenle, işlem süreleri artırılabilir.

Exchange posta kutularına sahip olmayan katılanlara güncelleştirmeleri almazsınız. Kendi randevuları, çalışan e-posta sisteminize bağlı olarak ve bağlı olarak, yöneticileri yapacağı eylemleri güncelleştirilmeyebilir.
Bu ayar yalnızca kullanıcı posta kutularına uygulanır.

Güncelleştirme konferans odaları ve kaynak posta kutusu

Konferans odaları ve kayıt çakışmaları önlemek için kaynak posta kutularını güncelleştirmeniz gerekir. Bunu yapmak için şu adımları izleyin:
  1. Kaynak belirtmek ve konferans RoomCalendars sayfasında yazın veya kuruluşunuzun konferans roomsin, diğer adların listesini yapıştırın. Diğer adları doğrulamak için Çözümleme ' yi tıklatın ve sonra İleri' yi tıklatın.
  2. Konferans odası büyük bir saat dilimi varsa saat dilimleri gidermek için kaynak andConference oda takvimleri sayfasında aracı manuallyspecify bir Konferans salonu için saat dilimi için ister. Bunu yapıp İleri' yi tıklatın.
  3. Size anımsatacak bir anımsatıcı sayfası görüntülenir, takvimlerini güncelleştirmek üzere toolis. İleri' yi tıklatın.
  4. Durum çubuğu, çıktı günlüğü ve Araç çıktısını areal anında görüntüsü bağlantı görüntülendiðine dikkat edin. İleri' yi tıklatın.

    Thetroubleshooting belgeye bağlantı hataları hata oluşursa, bu sayfanın alt kısmında görüntülenir.

Kullanıcı posta kutusu Takvim güncelleştir

Bunu yapmak için şu adımları izleyin:
  1. Kullanıcı MailboxCalendars güncelleştirmek için ayarları sayfasında, güncelleştirme ayarlarını yapılandırın.

    İşaretlemelisiniz belirtilmedi SuppressExchange veyaSuppressAll Gelişmiş ayarları, saat dilimlerinin DST tarafından o areaffected seçin. Aksi halde, tüm saat dilimlerini seçin.

    İleri' yi tıklatın.
  2. Size anımsatacak bir anımsatıcı sayfası görüntülenir, takvimlerini güncelleştirmek üzere toolis. İleri' yi tıklatın.
  3. Durum çubuğu, çıktı günlüğü ve Araç çıktısını areal anında görüntüsü bağlantı görüntülendiðine dikkat edin. Güncelleştirme iscomplete sonra İleri' yi tıklatın.

    Hatalarla karşılaşılan sorun giderme belgesine alink thispage alt kısmında görüntülenir.
  4. Son' u tıklatın.

Exchange aracı günlük dosyaları ve alt dizinleri

Günlük dosyaları

Exchange aracı aşağıdaki günlük dosyaları yükleme dizininde oluşturur:
  • Çıktı.txt

    Bu dosya ile birlikte, saat dilimi bilgilerini ayıklanan tüm kullanıcı posta kutularına thatwere bir listesini içerir.
  • TimeZoneExtraction.log

    Bu günlük zaman zoneextraction işlemin tüm sunucular için birleştirilmiş çıktısı içerir.
  • ResourceUpdate.log

    Bu günlük dosyası ve kaynak posta kutusu konferans odaları için güncelleştirme işlemi çıktısını içerir.
  • UserUpdate.log

    Bu günlük usermailbox güncelleştirme işlemi tüm sunucuların birleştirilmiş çıktısını içerir.
  • CalendarScan.log

    Bu günlük calendarscan işlemin tüm sunucular için birleştirilmiş çıktısı içerir.
  • ConflictUsers.txt

    Bu günlük conflictingtime bölgeleri olan kullanıcıların listesini içerir. Örneğin, kullanıcıların posta kutusu özelliklerini birden çok saat dilimleri için o theybelong gösterir.
  • NonExistent.txt

    Bu günlük hiçbir zaman zoneinformation sahip kullanıcıların listesini içerir.

Alt dizinleri

Exchange aracı yükleme dizininde aşağıdaki alt dizinleri oluşturur:
  • Kaynak

    Bu güncelleştirme durumlu işlem çalışma alt konferans odaları olan ve kaynak posta kutusu için. Bu directorycontains aşağıdaki dosyalar:
    • Msextmz.log

      Güncelleştirme işlemi için çıktı dosyası Exchange aracı budur.
    • Errors.txt

      Bu dosya, posta kutularının listesini içerir.
    • Processed.txt

      Bu dosya başarıyla güncelleştirildi posta kutularının listesini içerir.
    Not Bu dosyalar tüm çalışma alt dizinleri içerir.

    TheResource alt dizini aşağıdaki alt dizin de içerir:
    • LogFiles

      Bu alt dizini başarıyla güncelleştirildi her posta kutusu için güncelleştirme günlükleri içerir. Her güncelleştirme günlüğü güncelleştirilen toplantı listesi içermelidir.
  • Sunucu_adı

    Saat dilimi ayıklama işlemi her serveron için bir alt dizin yok veya takvim güncelleştirme yapılmadı.Bu alt dizinler, aşağıdaki alt dizinleri içerir:
    • CalendarScan

      Takvim tarama işlemi için çalışma alt budur.
    • Ayıkla

      Saat dilimi ayıklama işlemi için çalışma alt budur.
    • Güncelleştirme

      Kullanıcı posta kutusu güncelleştirme işlemi için çalışma alt budur. Aşağıdaki alt içerir:
      • LogFiles

        Bu alt dizini başarıyla güncelleştirildi her posta kutusu için güncelleştirme günlükleri içerir. Her güncelleştirme günlüğü güncelleştirilen toplantı listesi içermelidir.

Exchange aracı çalıştırdıktan sonra yapmanız gerekenler

Ortamınızdaki tüm Exchange sunucularında Exchange aracını çalıştıran tamamladıktan sonra uygun Exchange Server DST güncelleştirmelerini uygulayın. Aşağıdaki listede Exchange Server sürüm ve hizmet paketi düzeyine göre düzenlenir. Exchange Server sürümüne ilişkin güncelleştirmeleri yükleyin.

Exchange Server 2007
940006 Exchange Server 2007 için güncelleştirme toplaması 4'in açıklaması
Exchange Server 2007 için güncelleştirme toplaması 4 aşağıdaki DST düzeltmeler içerir:
  • 937656 Gün ışığından yararlanma saati (DST) 2007'de Yeni Zelanda'da başladıktan sonra Exchange 2007 için Outlook Web Access'te sorunlarla
  • 932561 Batı Avustralya saat diliminde bir kuruluş ise, bir Exchange kuruluşu için başka bir Exchange 2007 kullanılarak gönderilen randevular bir saat hatalı olabilir
Exchange Server 2003 SP2
926666 2007'de Exchange 2003 Service Pack 2 için gün ışığından yararlanma saati değişiklikleri güncelleştirmesi
931915 Newfoundland 2007 gün ışığından yararlanma saati değişiklikleri güncelleştirmesi Exchange Server 2003 Service Pack 2
929895 Ne zaman kuruluşlar Batı Avustralya saat dilimi biridir bir saat farklı Exchange Server kuruluş arasında gönderilen randevuları hatalı olabilir
937653 Bir veya daha fazla Exchange Server 2003'te Yeni Zelanda değişikliklerin 2007 gün ışığından yararlanma saati süresinden sonra sorunlarla
Exchange Server 2003 SP1
940123 Exchange 2003 Service Pack 1 gün ışığından yararlanma saati (DST) sonra Yeni Zelanda 2007'de başlayan sorunlarla karşılaşabilirsiniz

Bilinen sorunlar

  • Outlook Web Access'te oluşturulan Yinelenen toplantılar Exchange aracı tarafından güncelleştirilmez

    Posta kutularına Outlook Web Erişimi'nde bu arecreated toplantılar yinelenen güncelleştirmeden önce Exchange Server güncelleştirmelerini theExchange sunucuya yüklerseniz, Exchange aracı tarafından güncelleştirilmez.

    Bu sorunu gidermek için Exchange Server güncelleştirmelerini kaldırma, theExchange aracını çalıştırın ve Exchangeserver üzerinde Exchange Server güncelleştirmelerini yeniden yükleyin.
  • Exchange aracı çalıştırdıktan sonra Exchange 2007 yeniden başlatılması

    Takvim öğeleri doğru olarak görüntülemek için Outlook Web Access inExchange 2007 için Exchange Aracı'nı çalıştırdıktan sonra restartthe Exchange hizmetleri gerekir.
  • Exchange aracı yüklenemiyor

    Exchange aracı başarıyla yüklenmiyor aşağıdaki kayıt defteri anahtarlarının ifeither var:
    • HKEY_CLASS_ROOT\Outlook.Application.9
    • HKEY_CLASS_ROOT\Outlook.Application.10
    Bu senaryoda, Exchange aracı yüklemeye çalıştığınızda aşağıdaki hata iletisinde alırsınız:
    Exchange ServerCalendar yeniden Temellendirme aracı MicrosoftOutlook bu sürümü yüklenemez.
    Bu soruna geçici bir çözüm için bu kayıt defteri anahtarlarını silin, Exchange aracı yüklemek ve ayrılan kayıt anahtarları geri yükleyin.

    Önemli Bu bölüm, yöntem veya görev kayıt defterini nasıl değiştireceğinizin anlatıldığı adımlar içermektedir. Ancak, kayıt defterini hatalı olarak değiştirirseniz önemli sorunlar oluşabilir. Bu nedenle, bu adımları dikkatlice uyguladığınızdan emin olun. Daha fazla koruma için değiştirmeden önce kayıt defterini yedekleyin. Daha sonra bir sorun çıktığında kayıt defterini geri yükleyebilirsiniz. Yedekleme ve geri yükleme hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    322756 Windows kayıt defterini geri yükleme ve yedekleme
  • Sunucu başına işlenen posta kutusu sayısına bir sınır yoktur.

    Kullanıcı listesi modunda ve saat dilimi ayıklama mode,Msextmz.exe bir sunucu üzerinde yalnızca 65.535 posta kutuları işleyebilir. Sunucu hasmore fazla 65.535 posta kutuları, bazı posta kutuları olmayan işlenirse.
  • Ortak klasör takvimleri güncelleştirilmiyor

    Exchange ortak Foldercalendars güncelleştirme aracı değil. Bir ortak klasör Takvim güncelleştirme hakkında daha fazla bilgi için Outlook araç belgelerine seethe.
  • Outlook ve Exchange araçlarının aynı ortamda çalıştırabilirsiniz

    O hasalready üzerindeki bir posta kutusunda Exchange aracını çalıştırın, edilmiş Outlook aracı ya da tersi güncelleştirilmiş, hiçbir sideeffects karşılaşırsınız. Ancak, Exchange aracını çalıştırırsanız, gerek yoktur kullanıcılar çalıştırmak için Outlook araç ayrı ayrı.
  • Olmayan toplantı anımsatıcısı beklenenden daha görünür

    Status aracı Outlook hiçbir zaman mailboxin çevrimiçi moda bağlı güncelleştirilmemesini Exchange olmayan toplantı anımsatıcısı olan posta kutuları için güncelleştirildi. Bu durumda, uyarı mektupları bir saat görünür sonraki thanexpected.

    Outlook Takvim randevuları yanlış uyarı mektupları asla Çevrimiçi modda, mustadjust bağlı, Outlook toolfinds. Ayrıca, posta kutunuzdaki anımsatıcıları arama klasörü yok.Bu nedenle, e-posta öğelerini, kişileri veya diğer anımsatıcı güncelleştirme aracı değil.

    Örneğin, bir e-posta itemto izleme aynı anda gelecekte mektubunda aracı güncelleştirmez. Aracın thereminder bir uyarı mektubu olan görev öğesinde de güncelleştirmez.
  • Bir hata iletisi alıyorsunuz: "'Microsoft Exchange Takvimi güncelleştirme Aracı' nın önceki sürümleri algılandığı için yükleme yapılamıyor. Lütfen bunları kaldırın ve bu kurulumu yeniden çalıştırın"

    Exchange Takvimi UpdateTool sürüm 1.0'ı önceden yüklediyseniz, ExchangeCalendar güncelleştirme Aracı sürüm 2. 0'ı yüklemeden önce bu sürümü kaldırmalısınız.

    Exchange Takvimi güncelleştirme Toolversion 1.0, kendi kendine ayıklanan yürütülebilir dosya olarak (Msextmz.msi ve Msextmzcfg.msi) bu containedtwo .msi paketleri dağıtıldı. Exchange Aracı'nın 2.0 sürümünü yüklemeden önce bothpackages kaldırmanız gerekir.

    Youstill Exchange Aracı'nın 2.0 sürümünü yüklerken sorunlarla karşılaşırsanız, yeniden yüklemeyi ve sonra Exchange Aracı 1.0 sürümünü kaldırmayı deneyin. Denetim Masası'ndaki Ekle veya RemovePrograms özelliğini kullanarak yerine msi paketlerini kullanarak bunu yapmak. Sonra bilgisayarınızı yeniden başlatın, beliren Exchange Aracı'nın 2.0 sürümünü yükleyin.

    Bu yordam etmediğinden çalışıyorsanız, ikili dosyaları doğrudan .msi paketleri ayıklayın.
  • Outlook veya Exchange güncelleştirme araçları çalıştırdığınızda, randevuları kapalı bir saat üzerindeki posta kutularıyla ev saat dilimi Yeni Zelanda Standart Saati nerede olduğunu

    Bu davranış, aşağıdaki senaryoları aretrue:
    • Outlook veya Exchange güncelleştirme araçları Windows Vista çalıştıran bir bilgisayarda çalıştırmak.
    • Ev zaman güncelleştirilmekte olan posta kutularının Yeni Zelanda Standart Saati bölgedir.
    Bu soruna geçici bir çözüm bulmak için Outlook orExchange güncelleştirme araçları posta kutularını karşı ikinci bir kez veya daha sonra January1, 2008 çalıştırmanız gerekir.

    Bu davranış, diğer Windows sürümleri farklı Windows Vista zaman zoneinformation farklı biçimde işlemesi nedeniyle oluşur. TheOutlook veya Exchange güncelleştirme araçları yeniden 1 Ocak 2008 ve sonrasında çalıştırmazsanız ikinci DST olayına allappointments kapalı bir saat olacaktır. İkinci DSTevent, 16 Mart 2008 den 6 Nisan 2008 tarihleri içerir.

    Notwant 1 Ocak ikinci DSTevent randevu güncelleştirmek için 2008 kadar beklemeniz bunu yaparsanız, o çalıştığı Windows XP veya Windows Server 2003 güncelleştirme araçları bir bilgisayardan Exchange veya Outlook çalıştırabilirsiniz.
  • AA/GG/YYYY biçiminde bir tarihi M/GG/YYYY biçiminde değiştirilir.

    Exchange Takvimi güncelleştirme Aracı'de İşletim sistemi düzeltme tarihi seçeneğini ayarlayın. Bunu yaptığınızda, Exchange Takvimi güncelleştirme aracı düzgün çalışmıyor. M/GG/YYYY/AA/GG/YYYY tarih biçimini değiştiğinden bu sorun oluşur.

    Ayrıca, aşağıdakine benzer bir hata iletisi hata günlüğüne kaydedilir:
    [28/02/2008 7:10:21: 00][776]: wmain: 0x80070057 hata - yapılandırma okunamadı.
    Hatalı seçenek ayarı kısmında yer alan aşağıdaki örnek posta kutuları nedeniyle bu sorun oluşur.Sunucu.ini dosyası.
    ServerDN = /O=OrgName/OU=AdminGroup/cn=Configuration/cn=Servers/cn=ServerName LogDirectory = C:\Program Files\MSExTmz\ServerName\Update\LogFiles\ ErrorFile = C:\Program Files\MSExTmz\ServerName\Update\errors.ServerName.txt ProcessedFile = C:\Program Files\MSExTmz\ServerName\Update\processed.ServerName.txt LogFile = C:\Program Files\MSExTmz\ServerName\Update\msextmz.ServerName.log SystemPatchDate = 2/28/2008  DebugFile = C:\Program Files\MSExTmz\debug\ServerName.debug.bin PerMailboxTimeLimit = 15 PostMailboxDelay = 0 RebaseOptions = 171 InputFile = C:\Program Files\MSExTmz\ServerName\Update\Mailboxes.ServerName.txt 
    "SystemPatchDate" çizgi tarihin "2/28/08." içerdiğine dikkat edin Bu tarih AA/GG/YYYY biçiminde olmalıdır.

    Bu soruna geçici bir çözüm için İşletim sistemi düzeltme tarihi seçeneğini kullanmayın.
Referanslar

"Posta kutusu izin ver" komut dosyası

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

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 941018 - Son İnceleme: 12/23/2014 00:30:00 - Düzeltme: 2.0

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

  • kbhowto kbinfo kbmt KB941018 KbMttr
Geri bildirim