Makale numarası: 816789 - Son Gözden Geçirme: 12 Temmuz 2005 Salı - Gözden geçirme: 5.2

Exchange 2000 SP3'ü yükledikten sonra Everyone için okuma erişimi grubu kaldırılıyor

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Belirtiler

Exchange 2000 Server Service Pack 3 (SP3) yüklü olduğu bir bilgisayarda bir birlikte çalışma veri nesneleri (CDOEX) Exchange 2000 uygulaması için veya System.Web.Mail bir birlikte çalışma veri nesneleri için Windows (CDOSYS) uygulamasını kullanarak Basit Posta Aktarım Protokolü (SMTP) posta göndermek, aşağıdaki hata iletisini alırsınız:
CDO.Message.1 (0x80040220)
"SendUsing" yapılandırma değeri geçersiz.
NotBir Yönetilen sarıcı için CDOSYS ileti bileşeni'ni kullanarak, iletileri göndermek sağlayan CDOSYS System.Web.Mail var.

Neden

Bu sorun, Everyone için okuma erişimi, ınternet ınformation Services (IIS) metatabanı ve Microsoft Active Directory dizin hizmeti kaldırılmış olduğundan oluşur grubu. Bu erişim, Exchange 2000 Server SP3'teki bir güvenlik değişikliği nedeniyle kaldırılmıştır. CDOEX CDOSYS ve System.Web.Mail toplama dizini yolu konumu hakkındaki bilgilere erişmek için IIS metatabanına erişimi olması gerekir. Bu davranış oluşur: Sendusingpickup yöntemini kullandığınızda ve bu bilgiler, uygulama kodu belirtilmedi. Erişim kısıtlıdır çünkü uygulama, güvenlik bağlamında çalışan yönetici olmayan bir kullanıcı IIS metatabanını ve Active Directory bu bilgileri okunamıyor.

ÇÖZÜM

Bu soruna geçici bir çözüm bulmak için <a0></a0>, "Geçici Çözümler" bölümünde geçici çözümlerden birini kullanın.

Not Örnek kod için geçici çözümler, bir Active Server Pages (ASP) sayfası bağlamında yazılır.

Geçici çözümler

Bu soruna geçici bir çözüm bulmak için <a0></a0>, yapılandırma ya da kodunu değiştirmeniz gerekir. Yapılandırma değişiklikleri hızla alınması, ancak daha kasten ve uygulama ve kaynaklarının güvenliğini ınızın kod değişiklikler yapılması gerekir.

Not IIS metatabanına Everyone için okuma erişimi geri grup bu soruna yönelik bir geçici çözüm değildir. Bu erişimi geri yüklemek için Exchange 2000 Server SP3 gideren güvenlik açıkları reintroduces.

Exchange 2000 Server SP3 uygulandıktan sonra kullandığınız CDOEX ve CDOSYS uygulamalar aşağıdaki geçici çözümlerden birini kullanın. Geçici çözüm 1 ve geçici çözüm 2'de, yönetim yapılandırmasını değiştirin. Geçici çözüm 3 ve geçici çözüm 4 kodunu değiştirin. Sorunu çözümlemeye yönelik bir geçici çözümü uygulamak yeterlidir, ancak hangi geçici çözüm kullanıcının uygulama için en uygun çözümdür karar vermelisiniz.

Yönetimsel yapılandırmasını değiştirmek için <a0></a0>, seçmeli olarak IIS metatabanına erişim vermeniz gerekir. Geçici çözüm 1 ve geçici çözüm 2'de, uygulama kodu değişmez, ancak IIS metatabanı okuma erişimi gerektiren hesaplara erişim verilir. IIS metatabanı hesabına erişim izni (geçici çözüm 1) altında çalışan bir uygulama veya bu amaçla (geçici çözüm 2) yeni bir hesap oluşturun ya da verebilirsiniz.

Adadd.vbs Adlist.vbs ve Addel.vbs komut dosyaları, IIS metatabanına erişim verin. Bu komut dosyaları hakkında daha fazla bilgi için bu makalenin sonundaki "Ek" bölümüne bakın.

IIS metatabanı eriştiği için önce birlikte çalışma veri nesneleri (CDO) hizmet (SRV) RevertToSelf işlevini çağırır olduğundan, burada uygulama işlemi çalıştıran hesabın ekleyebilirsiniz. Normal bir ASP sayfası için bu ıwam_ ComputerName hesaptır.

Geçici Çözüm 1

En az destabilizing seçeneği uygulamaları altında çalışan ve daha sonra da IIS metatabanına hesaba erişim verin, hangi hesabın belirlemektir. Ancak, başka uygulamalar (örneğin, ıwam_ XXX veya ıusr_ XXX) varolan hesabın kullanabilirsiniz çünkü bu uygulamalar, IIS metatabanına erişim verilir, bu geçici çözümü güvenlik açıkları doğurabilir. Bu çözümün avantajı, uygulama kodu ve SMTP yapılandırma değiştirilmez olur. Bu geçici çözümü dezavantajı, gereksiz yere IIS metatabanına erişim, ' dir.

Hangi hesabın belirlemek için uygulama altında çalışan ve IIS metatabanına, hesabın erişim vermek için şu adımları izleyin:
  1. .Vbs dosyaları, sunucunuz üzerinde bir dizine kaydedin.
  2. IIS, uygulamanızdaki sanal dizini bulun, sanal dizini sağ tıklatın ve sonra da Properties ' i tıklatın.
  3. Dizin Güvenliği</a0> sekmesini tıklatın ve sonra da Anonim erişim ve doğrulama denetimi altında Düzenle ' yi tıklatın.
  4. Kimlik doğrulama yöntemleri iletişim kutusunda, Anonim erişim</a0> onay kutusunun seçili olduğundan emin olun ve hesapları kullanılan anonim erişim altında Düzenle ' yi tıklatın.
  5. Anonim kullanıcı hesabı iletişim kutusu tarafından görüntülenen hesap adını yazın.
  6. Iletişim kutularını kapatmak için iptal ' i tıklatın.
  7. Komut isteminde, dizin adımda .vbs dosyalarını içeren dizini değiştirin.
  8. Adadd.vbs için adım 5'te not ettiğiniz hesabının IIS metatabanına erişim vermek için kullanın. Bunu yapmak için <a0></a0>, komut isteminde aşağıdaki komutu çalıştırın:

    cscript adadd.vbs ComputerName \ AccountName

    Not Bir etki alanı denetleyicisinde DomainName kullanır \ AccountName, veya bilgisayar adını veya etki alanı adını belirtmeyin. Sonra adadd.vbs AccountName sağlamak yeterlidir. Bir etki alanı denetleyicisinde ıwam_ computername eklemek için <a0></a0>, komut isteminde aşağıdaki komutlardan birini çalıştırın:

    cscript adadd.vbs DomainName \ıwam_ ComputerName

    -VEYA-

    cscript adadd.vbs ıwam_ ComputerName

    Bazen, Adadd.vbs kullanarak ıwam_ ComputerName hesabının IIS metatabanına erişimi vermelisiniz. Bunu yapmak için <a0></a0>, komut isteminde aşağıdaki komutu çalıştırın:

    cscript adadd.vbs ComputerName \ıwam_ ComputerName
  9. Adlist.vbs hesabın IIS metatabanına erişim listesine eklendiğini doğrulamak için kullanın. Bunu yapmak için <a0></a0>, komut isteminde aşağıdaki komutu çalıştırın:

    cscript adlist.vbs
  10. Durdur ve IIS Admin hizmeti ve herhangi bağımlı hizmetleri yeniden başlatır.
  11. Exchange 2000 çalıştıran bilgisayarlarda, kullanıcı Program Files\exchsrvr\mailroot\vsi # \pickup dizin yolunu yazma erişimi verin. Exchange 2000 çalıştıran bilgisayarlarda, kullanıcı Inetpub\mailroot\pickup dizin yolunu yazma erişimi verin.
  12. Bekle IIS metabase'e çoğaltmak için Active Directory'ye.
  13. Uygulamayı çalıştırın.

    Uygulama şimdi beklendiği gibi çalışır.

Geçici çözüm 2

Hesap oluşturma, IIS metatabanına bu hesaba erişim verin ve sonra da hesabı olarak çalışacak biçimde uygulamanın çalıştığı sanal dizini yapılandırabilirsiniz. Bu çözümün avantajı, uygulama kodu ve SMTP yapılandırma değiştirilmez olur.

Yeni bir hesap altında çalışır ve sanal dizin'i yapılandırmak uygulama için oluşturmak için aşağıdaki adımları izleyin:
  1. .Vbs dosyaları, sunucunuz üzerinde bir dizine kaydedin.
  2. Bir bilgisayar hesabı (örneğin, CdoExAccount) oluşturmak için Active Directory Kullanıcıları ve Bilgisayarları'nı kullanın ve sonra da bu hesabın Users grubuna ekleyin.

    Bu hesabın, posta kutusu gerektirmez.
  3. IIS, uygulamanızdaki sanal dizini bulun, sanal dizini sağ tıklatın ve sonra da Properties ' i tıklatın.
  4. Dizin Güvenliği</a0> sekmesini tıklatın ve sonra da Anonim erişim ve doğrulama denetimi altında Düzenle ' yi tıklatın.
  5. Kimlik doğrulama yöntemleri iletişim kutusunda, Anonim erişim</a0> onay kutusunun seçili olduğundan emin olun ve hesapları kullanılan anonim erişim altında Düzenle ' yi tıklatın.
  6. Anonim kullanıcı hesabı iletişim kutusunda, aşağıdaki adımları izleyin:
    1. Kullanıcı adı</a0> kutusunda, adım 2'de oluşturduğunuz hesabın adını yazın.

      Not Bir etki alanı denetleyicisinde DomainName kullanır \ AccountName, veya bilgisayar adını veya etki alanı adını belirtmeyin. AccountName sağlamak yeterlidir. Hesap adını, bilgisayar düzeyinde bir hesap oluşturursanız, aşağıdaki biçimde yazın: ComputerName \ AccountName
    2. Bir etki alanı denetleyicisinde <DomainName>\<AccountName>kullanın veya bilgisayaradı'nı veya etki alanı adı (yalnızca sağlar <AccountName>) belirtin
    3. Parolayı denetlemek için ııS'E ver</a0> onay kutusunu tıklatıp temizleyin.
    4. Parola kutusuna hesabın parolasını yazın.
    5. Tamam ' ı tıklatın ve sonra sonuç iletişim kutusuna parolayı yeniden yazın.
  7. Tüm iletişim kutularını kapatmak için Tamam ' ı tıklatın.
  8. Komut isteminde, dizin adımda .vbs dosyalarını içeren dizini değiştirin.
  9. 2. Adımda not ettiğiniz hesabının IIS metatabanına erişim vermek Adadd.vbs kullanın. Bunu yapmak için <a0></a0>, komut isteminde aşağıdaki komutu çalıştırın:

    cscript adadd.vbs ComputerName \ AccountName

    Not Bir etki alanı denetleyicisinde DomainName kullanır \ AccountName, veya bilgisayar adını veya etki alanı adını belirtmeyin. Sonra adadd.vbs AccountName sağlamak yeterlidir. Bir etki alanı denetleyicisinde ıwam_ computername eklemek için <a0></a0>, komut isteminde aşağıdaki komutlardan birini çalıştırın:

    cscript adadd.vbs DomainName \ıwam_ ComputerName

    -VEYA-

    cscript adadd.vbs ıwam_ ComputerName

    Bazen, Adadd.vbs kullanarak ıwam_ ComputerName hesabının IIS metatabanına erişimi vermelisiniz. Bunu yapmak için <a0></a0>, komut isteminde aşağıdaki komutu çalıştırın:

    cscript adadd.vbs ComputerName \ıwam_ ComputerName
  10. Durdur ve IIS Admin hizmeti ve herhangi bağımlı hizmetleri yeniden başlatır.
  11. Hesabın IIS metatabanına erişim listesine eklenmiş olduğundan emin olmak için Adlist.vbs çalıştırın. Bunu yapmak için <a0></a0>, komut isteminde aşağıdaki komutu çalıştırın:

    cscript adlist.vbs
  12. Exchange 2000 çalıştıran bilgisayarlarda, kullanıcı Program Files\exchsrvr\mailroot\vsi # \pickup dizin yolunu yazma erişimi verin. Exchange 2000 çalıştıran bilgisayarlarda, kullanıcı Inetpub\mailroot\pickup dizin yolunu yazma erişimi verin.
  13. Bekle IIS metabase'e çoğaltmak için Active Directory'ye.
  14. Uygulamayı çalıştırın.

    Uygulama şimdi beklendiği gibi çalışır.

Geçici çözüm 3

Açıkça sendusing yöntemi kodu belirtmezseniz, cdoSendUsingPickup değer varsayılan değerdir. Ancak, açıkça cdoSendUsingPickup ve toplama dizini yolunu kodu belirtebilirsiniz. Toplama dizini yöntemi kullanmak için <a0></a0>, yerel SMTP geçişi için yapılandırılmalıdır.

Bu çözümün avantajı geçici ilk SMTP Hizmet örneği sınırlandırılmamıştır <a0>Artırılmış uygulama denetimini yapılandırma ve</a0> ' dir. Birden çok SMTP sanal sunucusu olan bilgisayarlarda, varsayılan yapılandırma, IIS metatabanında ilk toplama dizini seçer. Bu toplama dizini uygulamaya gereken bir dizin olabilir. Toplama dizini açıkça belirterek varsayılan yapılandırması, doğru toplama dizini seçer emin olabilirsiniz. Bu geçici çözümü dezavantajı, daha diğer geçici çözümlerden kırılabilir olmasıdır. Exchange 2000 yüklemesi veya Yönetim yapılandırma değişiklikleri, uygulamanın alma dizininin konumunu değişiklikler nedeniyle çalışmamaya başlamasına neden olabilir.
Kod örneği
Aşağıdaki kod örneği cdoSendUsingPickup ve alma dizininin konumunu kesin olarak ayarlanmış gösterilmiştir:
<%@ Language=VBScript %>
	<%
	    Dim iMsg
	    Dim iConf
	    Dim Flds
	    Const cdoSendUsingPickup = 1
	
	    'For CDOSYS, the pickup directory is located at c:\inetpub\mailroot\pickup.
	    Const strPickup = "c:\Program Files\Exchsrvr\mailroot\vsi 1\Pickup"
	
	    'Create the message object.
	     Set iMsg = CreateObject("CDO.Message")
	
	    'Create the configuration object.
	     Set iConf = iMsg.Configuration
	
	    With iConf.Fields
	  	.item("http://schemas.microsoft.com/cdo/configuration/sendusing")= cdoSendUsingPickup
	       .item("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = strPickup
	       .Update
	    End With
	
	    'Set the To, From, Subject, and Body properties of the message.
	    With iMsg
	       .To = "someone@example.com"
	       .From = "someone@example.com"
	       .Subject = "Test message by using CDOEx and cdoSendUsingPickup sent on: "  & now()
	       .TextBody = "This is a test by using CDOEx"
	       .Send
	    End With 
	    Set iMsg = Nothing
	 %>

Geçici çözüm 4

Iletiler yerel toplama dizini yazmak yerine, ağ üzerinden bir uzak SMTP sunucusunun iletiler yazabilirsiniz. Bu çözümün avantajı alt genel kaynak tüketimi ve dolaysız ve daha ayrıntılı hata bilgileri ' dir. Bu geçici çözümü dezavantajları şunlardır: Uzak SMTP sunucusunun kullanılamayabilir ve toplama dizini doğal sıra yönteminde kaybedersiniz.
Örnek kod
Aşağıdaki değiştirilmiş örnek kod, Exchange 2000 Server SP3 üzerinde çalışır. Not Bu örnek, kod oluşturma ve yapılandırma object.
<%@ Language=VBScript %>
	<%
	    Dim iMsg
	    Dim iConf
	    Dim Flds
	    Const cdoSendUsingPort = 2
	    Const strSmartHost = "MySmartHostServer"
	
	    'Create the message object.
	    Set iMsg = CreateObject("CDO.Message")
	
	    'Create the configuration object.
	    Set iConf = iMsg.Configuration
	
	    'Set the fields of the configuration object to send by using SMTP through port 25.
	    With iConf.Fields
	       .item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort
	       .item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSmartHost
	       .Update
	    End With
	
	    'Set the To, From, Subject, and Body properties of the message.
	    With iMsg
	       .To = "someone@example.com"
	       .From = "someone@example.com"
	       .Subject = "Test message by using CDOEx and cdoSendUsingPort, sent on: "  & now()
	       .TextBody = "This is a test by using CDOEx"
	       .Send
	    End With
	    set iMsg = Nothing
	 %> 

Ekte

Komut dosyasını karşıdan yüklemek için okuma ve IIS metatabanı ve Active Directory için aşağıdaki Microsoft Web sitesini ziyaret edin erişim dosyalar:
http://download.microsoft.com/download/9/7/0/9706f302-99f8-49f9-8aa4-df66d771feaf/smtppermissionsscripts.exe (http://download.microsoft.com/download/9/7/0/9706f302-99f8-49f9-8aa4-df66d771feaf/smtppermissionsscripts.exe)
Karşıdan yükleme komut dosyası aşağıdaki dosyaları içerir.
Bu tabloyu kapaBu tabloyu aç
Adlist.vbsSunucuda, Active Directory'de (varsa) veya IIS metatabanındaki her SMTP hizmet kopyası için erişim denetim listelerini (ACL) listeler.
Adadd.vbsSunucudaki tüm SMTP Hizmet örneği hesaplarını salt okunur erişim verir.
Addel.vbsTüm erişim denetim girdileri (ACE), sunucudaki tüm SMTP Hizmet örneği hesabını kaldırır.
Her komut dosyası, bilgisayarı Exchange 2000 çalışıp çalışmadığını belirlemek için Active Directory'yi kullanır. Exchange 2000 çalıştıran bilgisayar, Active Directory'de yapılan değişiklikler, ve Ds2mb.dll dosya değişiklikleri IIS metatabanına tüketimini SMTP için çoğaltır. Exchange 2000 bilgisayarı çalıştırmıyorsa, IIS metatabanında doğrudan değişiklik.


Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange 2000 Enterprise Server
  • Microsoft Exchange 2000 Server Standard Edition
Anahtar Kelimeler: 
kbmt kbdownload KB816789 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:816789  (http://support.microsoft.com/kb/816789/en-us/ )