ID Artikel: 313114 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0

Cara membuat kotak pesan penerima dengan menggunakan Visual C#

Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.

Pada Halaman ini

Perbesar semua | Perkecil semua

RINGKASAN

Artikel ini selangkah demi selangkah menjelaskan cara membuat pengguna dengan dukungan kotak pesan dengan System.DirectoryServices namespace dan CDO untuk manajemen Exchange (CDOEXM).

Persyaratan

The Daftar berikut menguraikan fitur perangkat keras, perangkat lunak, jaringan infrastruktur, dan paket layanan yang Anda butuhkan:
  • Domain berbasis Microsoft Windows 2000 yang memiliki Microsoft Exchange 2000 diinstal
  • Microsoft Visual C# 2005 atau Microsoft Visual C# .NET
  • Microsoft Exchange 2000 sistem alat manajemen pada komputer yang menjalankan kode ini

INFORMASI LEBIH LANJUT

Membuat program yang baru C#

  1. Dalam Visual C# 2005 atau Visual C#.NET, membuat baru C# program konsol yang bernama MBTest.
  2. Dalam solusi Explorer, klik kananReferensi, lalu klik Tambahkan Referensi.
  3. Pada .NET tab, menambahkan referensi proyek untuk System.DirectoryServices namespace.
  4. Pada COM tab, menambahkan referensi keMicrosoft CDO untuk manajemen Exchange.
  5. Ganti kode dalam Class1.cs file dengan berikut kode.

    Catatan Dalam Visual C# 2005, mengganti kode dalam Program.cs file sebaliknya.
    using System;
    using CDOEXM;
    using System.DirectoryServices;
    
    namespace MBTest
    {
         class Class1
         {
              [STAThread]
              static void Main(string[] args)
              {
                   //TODO: Change these items to values for your domain or organization.
                   string defaultNC = "DC=yourdomain,DC=com";
                   string alias = "jsmith"; 
                   string fullName = "Joseph Smith";
                   string password = "TestMb123.";
                   string domainName = "yourdomain.com";
                   string homeMDB = "CN=Mailbox Store (Your Server),CN=Your Storage Group," 
                             + "CN=InformationStore,CN=Your Server,CN=Servers,"
                             + "CN=Your Administrative Group,CN=Administrative Groups,"
                             + "CN=Your Org,CN=Microsoft Exchange,CN=Services,"
                             + "CN=Configuration,DC=Yourdomain,DC=Com";
    
                   DirectoryEntry container, user;
                   CDOEXM.IMailboxStore mailbox;
    
                   //This creates the new user in the "users" container.
                   //Set the sAMAccountName and the password
                   container = new DirectoryEntry("LDAP://cn=users," + defaultNC);
                   user = container.Children.Add("cn=" + fullName, "user");
                   user.Properties["sAMAccountName"].Add(alias);
                   user.CommitChanges();
                   user.Invoke("SetPassword", new object[]{password});
                   
                   //This enables the new user.
                   user.Properties["userAccountControl"].Value = 0x200; //ADS_UF_NORMAL_ACCOUNT
                   user.CommitChanges();
    
                   //Obtain the IMailboxStore interface, create the mailbox, and commit the changes.
                   mailbox = (IMailboxStore)user.NativeObject;
                   mailbox.CreateMailbox(homeMDB);
                   user.CommitChanges();
    
                   return;
              }
         }
    }
    					
  6. Mengubah variabel di bagian TODO dalam Utama fungsi sehingga mereka mengandung nilai yang benar untuk Anda domain.
  7. Mengkompilasi proyek, dan kemudian jalankan program.
  8. Mengkonfirmasi bahwa account yang baru dibuat di domain oleh mulai aktif pengguna dan komputer direktori snap-in di Microsoft Management Console (MMC). Anda melihat pengguna baru dalam wadah pengguna. Pada memverifikasi bahwa pengguna ini dukungan kotak pesan, lihat properti dan catatan pengguna yang Exchange tab muncul, dan kotak pesan yang menyimpan adalah tercantum untuk pengguna di Exchange umum tab.

Kode deskripsi

Membuat DirectoryEntry baru

Kode ini menunjukkan bagaimana untuk mengikat ke sebuah wadah (dalam hal ini, wadah pengguna), dan bagaimana untuk membuat pengguna baru dalam wadah. Jangan lupa "cn =" entri untuk nama pengguna baru.
container = new DirectoryEntry("LDAP://cn=users," + defaultNC);
user = container.Children.Add("cn=" + fullName, "user");
				

Mengatur properti pengguna baru

  1. Menetapkan nilai untuk sAMAccountName. Ini adalah atribut yang wajib. Account pengguna tidak dibuat Jika Anda tidak menetapkan nilai.
  2. Karena Anda telah disediakan atribut wajib, panggilan CommitChanges untuk menyimpan pengguna baru dalam direktori.
  3. Panggilan IADs::SetPassword untuk mengatur sandi. Anda harus melakukan ini setelah panggilan untuk CommitChanges.
  4. Memungkinkan pengguna dengan memodifikasi userAccountControl atribut.
    user.Properties["sAMAccountName"].Add(alias);
    user.CommitChanges();
    user.Invoke("SetPassword", new object[]{password});
                   
    //This enables the new user:
    user.Properties["userAccountControl"].Value = 0x200; //ADS_UF_NORMAL_ACCOUNT
    user.CommitChanges();
    				

Membuat kotak pesan baru

  1. Untuk mendapatkan IMailboxStore antarmuka, pemain DirectoryEntry.NativeObject untuk jenis ini. Pemain ini tidak berhasil pada jangka waktu jika CDOEXM tidak diinstal pada komputer.
  2. Panggilan CreateMailbox metode, dan menyebarkannya nama dibedakan berlaku ke kotak pesan yang menyimpan dalam organisasi Exchange Anda.
  3. Panggilan CommitChanges pada DirectoryEntry untuk menyimpan kotak pesan baru.
    //Obtain the IMailboxStore interface, create the mailbox, and commit the changes.
    mailbox = (IMailboxStore)user.NativeObject;
    mailbox.CreateMailbox(homeMDB);
    user.CommitChanges();
    				

Pemecahan Masalah

  • Anda harus memiliki izin yang sesuai pada domain ke membuat pengguna dan kotak pesan. Biasanya, untuk membuat pengguna dengan dukungan kotak pesan dalam Domain berbasis Windows 2000, Anda harus menjadi anggota Windows 2000 Domain Grup administrator untuk domain.
  • Jika kode ini berjalan pada komputer lain dari Exchange 2000 Komputer berbasis server, Anda harus memiliki alat bantu manajemen Exchange 2000 sistem diinstal di komputer. Jika Anda tidak, CDOEXM ini tidak tersedia dan para pemain untuk IMailboxStore antarmuka melempar InvalidCastException tanggapan:
    Unhandled pengecualian tipe 'System.InvalidCastException' terjadi di MBTest.exe
    Informasi tambahan: ditentukan cast adalah tidak berlaku.
  • Jika Anda menerima pesan galat pada panggilan IMailboxStore.CreateMailbox, verifikasi bahwa parameter bahwa Anda telah lulus untuk metode ini toko berlaku kotak pesan di organisasi Anda. Jika tidak, Anda menerima pesan kesalahan pesan yang mirip dengan berikut:
    Unhandled pengecualian tipe 'System.Runtime.InteropServices.COMException' yang terjadi di MBTest.exe
    Informasi tambahan: ada tidak ada objek seperti di server.

REFERENSI

Untuk informasi lebih lanjut tentang System.DirectoryServices namespace, kunjungi berikut Microsoft Developer Network (MSDN) Situs web:
.aspx http://msdn2.Microsoft.com/en-us/library/System.DirectoryServices (vs.71) (http://msdn2.microsoft.com/en-us/library/system.directoryservices(vs.71).aspx)
Untuk informasi lebih lanjut tentang CDOEXM, kunjungi Website MSDN berikut situs:
http://msdn2.Microsoft.com/en-us/library/ms876280.aspx (http://msdn2.microsoft.com/en-us/library/ms876280.aspx)

Berlaku bagi:
  • Microsoft Visual C# 2005
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Exchange 2000 Server Standard Edition
  • Microsoft Exchange 2000 Enterprise Server
Kata kunci: 
kbdswadsi2003swept kbhowtomaster kbmt KB313114 KbMtid
Penerjemahan MesinPenerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:313114  (http://support.microsoft.com/kb/313114/en-us/ )