Thứ Năm, 28 tháng 2, 2008

SMS Class

using System;using System.Net;using System.Net.Sockets;using System.IO;namespace SMS_Machine{ /// /// Summary description for send. /// public class sms { private static string xmlUrl = "http://xml2.aspsms.com:5061/xmlsvr.asp"; private string orgi; private string userkey; private string password; public sms() { } public sms(string abs, string login, string pw) { this.orgi = abs; this.userkey = login; this.password = pw; } public bool send(int smsid, string number, string text, int FlashMode, int BlinkMode) { sendASP(smsid,number,text,FlashMode,BlinkMode,"", ""); return false ; } private string sendASP(int idsms, string number, string message, int flashing,int blinking, string URLDeliveryNotification, string URLNonDeliveryNotification) { string content = "\r\n" + "\r\n" + "" + userkey + "\r\n" + "" + password + "\r\n" + "" + orgi + "\r\n" + "\r\n" + "" + number + "\r\n" + "" + idsms + "\r\n" + "\r\n" + "" + message + "\r\n" + "" + flashing + "\r\n" + "" + blinking + "\r\n" + "" + URLDeliveryNotification + "id=\r\n" + "" + URLNonDeliveryNotification + "id=\r\n" + "SendTextSMS\r\n" + "\r\n"; string xmlResult = ""; try { HttpWebRequest myWebRequest =(HttpWebRequest)WebRequest.Create(xmlUrl); myWebRequest.Method = "POST"; myWebRequest.ContentType = "text/xml"; myWebRequest.ContentLength = content.Length; // write the http-message body into the request stream StreamWriter requestWriter = new StreamWriter(myWebRequest.GetRequestStream()); requestWriter.Write(content); requestWriter.Close(); //read the response StreamReader responseReader = new StreamReader(myWebRequest.GetResponse().GetResponseStream()); xmlResult = responseReader.ReadToEnd(); responseReader.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message); } return xmlResult; } }}

Using API

using System.Runtime.InteropServices;

namespace SwapMouseEg {

class SwapMouse {
[DllImport("user32.dll")]
public static extern Int32 SwapMouseButton(Int32 bSwap);
}
}

//Form
private void btnSwap_Click(object sender, EventArgs e)
{
SwapMouse.SwapMouseButton(1);
}
private void btnReset_Click(object sender, EventArgs e) {
SwapMouse.SwapMouseButton(0);
}
//Class
using System.Runtime.InteropServices;
namespace SwapMouseEg {
class SwapMouse {
[DllImport("user32.dll")]
public static extern Int32 SwapMouseButton(Int32 bSwap);
}
}
//Form
private void btnSwap_Click(object sender, EventArgs e)
{
SwapMouse.SwapMouseButton(1);
}
private void btnReset_Click(object sender, EventArgs e) {
SwapMouse.SwapMouseButton(0);
}

Insert new node to file xml

public bool AddAdditionalElementString(string file,string key, string value)
{
try
{
//create our new XmlDocument object
XmlDocument xmlDoc = new XmlDocument();
//load the file
xmlDoc.Load(file);
//use a "query" to get to the main nodes (in this case
//its the "Users" nodes
string query = "/Users/User";
//select the node in the query
XmlNode xmlNode = xmlDoc.SelectSingleNode(query);
//now we create a new element to be added
XmlElement xmlSubCat = xmlDoc.CreateElement(key);
//add the value to the Node
xmlSubCat.InnerText = value;
XmlNode commonParent = xmlNode.ParentNode;
//insert at the end of the toher elements
commonParent.InsertAfter(xmlSubCat, xmlNode);
//save the file
xmlDoc.Save(file);
}
catch (XmlException xml)
{
_returnMessage = xml.Message;
_success = false;
}
catch (Exception ex)
{
_returnMessage = ex.Message;
_success = false;
}
return _success;
}

Rượu Ngon - Gái Đẹp

Quê hương anh gái đẹp rượu ngon Làng tôi ah, bán mồi ngay cạnh đó Tôi với anh 2 người xa lạ Tự nhiên buồn,wánh lộn quen luôn!! Chén bên chén, mồi kế bên mồi; Đêm uống chung ly thành đôi sâu rượu Đồng tửu !!! Ruộng nương anh gán nợ bạn cày Gian nhà tranh mặc kệ gió ...tung bay Giếng nước gốc đa nhớ người ra ... quán Tôi với anh biết từng cơn chuếch choáng Rét co vòi , quần áo đẫm rượu tây Áo Phông rách vai Quần đùi tôi 2 miếng vá Nụ cười buốt giá Chân không giày Thương nhau tay nắm lấy cổ chai Đêm nay đầu đường sương muối Đứng cạnh bên nhau chờ vợ tới Cạn chén trăng soi

Ví dầu giá thương lương

Gió đưa cái giá về trời,
Cho lương ở lại chịu nhiều đắng cay.
Giá ơi ta bảo giá này: Giá lên nhanh quá có ngày…chết lương.
Nhiễu điều phủ lấy giá gương Đồng lương vật giá phải thương nhau cùng.
Người ta đi cấy lấy công, Tôi nay đi cấy còn trông nhiều bề Trông cho vật giá…rẻ rề,
Lương tăng vùn vụt là mê lắm rồi.
Bắc thang lên hỏi ông trời Giá lương như thế, dân thời sống sao?
Ông trời ổng biểu kệ tao, Mày đi hỏi sếp chứ tao biết gì.

Thứ Sáu, 15 tháng 2, 2008

Chuyển mailbox trong Exchange 2007 thông qua Exchange Management Console (Phần 2)

Trong phần 1 của bài báo này, chúng tôi đã giới thiệu về tiện ích Move Mailbox có trong Exchange Management Console cũng như các bản ghi sự kiện khác được ghi khi các mailbox được chuyển trong Exchange 2007. Tuy tiện ích Move Mailbox cung cấp một giao diện đơn giản để thực hiện công việc chuyển mailbox giữa các cơ sở dữ liệu và máy chủ nhưng nó vẫn thiếu một số các thiết lập thông thường mà các quản trị viên cần tới. Các tham số báo cáo này có thể thu được bằng cách sử dụng Exchange Management Shell để chuyển các mailbox. Cuối phần hai của bài này chúng tôi sẽ giới thiệu cho các bạn một số tham số chính có thể sử dụng. Bây giờ, chúng ta hãy quan sát các file bản ghi được tạo ra bởi quá trình chuyển mailbox. Các file bản ghi của Move Mailbox Quá trình chuyển mailbox của Exchange 2007 sinh ra một số file XML và LOG mỗi khi một lần chuyển được thực hiện. Bạn có thể tìm các file này trong thư mục mặc định \Program Files\Microsoft\Exchange Server\Logging\MigrationLogs, xem hình 14.

Hình 14: Các file bản ghi của Exchange 2007 Move Mailbox
Cả hai loại file này đều có các thông tin về quá trình chuyển mailbox vừa mới được thực hiện. Các ví dụ về file .log và .xml được thể hiện trong hình 15 và 16.
Hình 15: Nội dung các file bản ghi

Hình 16: Nội dung các file XML

Việc đọc các file bản ghi hoàn toàn dễ dàng hơn file XML trong định dạng thô vì đây không luôn là thứ đơn giản nhất để thực hiện. Một câu trả lời cho vấn đề đó là áp dụng một style sheet. Chúng tôi sẽ giới thiệu lại về Exchange 2003 một chút để có thể chỉ ra cho bạn một ví dụ về trường hợp này. Quá trình chuyển mailbox của Exchange 2003 sinh ra các file XML theo kiểu tương tự như quá trình thực hiện trong Exchange 2007. Exchange Server 2003 SDK (có thể download được ở đây) có một XSLT style sheet mà bạn có thể sử dụng để thay đổi cách xem file XML được sinh ra trong quá trình chuyển mailbox. Vấn đề này sẽ cho bạn có được ý tưởng về những gì có thể làm với style sheet. Rõ ràng style sheet đã cung cấp SDK chỉ làm việc với các file XML của Exchange 2003, chính vì vậy bạn sẽ cần phải tự tạo cho chính bản thân mình các file XML của Exchange 2007, hoặc có lẽ một style sheet tương tự sẽ được phát hành bởi Microsoft. Nếu download và cài đặt Exchange Server 2003 SDK bạn sẽ tìm thấy style sheet với tên gọi là TaskWizardRun.xslt ở phía dưới thư mục mặc định \Program Files\Exchange SDK\SDK\Samples\TaskWizard. Để áp dụng style sheet cho file XML, tất cả những gì bạn cần thực hiện là thay đổi file XML. Ví dụ, hình 17 minh chứng về file XML của Exchange 2003 gốc đã được mở trong Notepad.
Hình 17: File XML của Exchange 2003 trong Notepad

Chú ý ở dòng thứ hai được bắt đầu với
File XML cuối cùng sẽ giống như file được thể hiện trong hình 18, với phần văn bản được bổ sung đã được đánh dấu.

Hình 18: File XML của Exchange 2003 đã được thay đổi
Điều này có nghĩa rằng, khi mở file XML trong Internet Explorer, nó sẽ giống như ví dụ hiển thị trong hình 19. Hãy xem xem bạn có gây ra một lỗi chính tả nào đó không với style sheet.
Hình 19: File XML của Exchange 2003 với style sheet

Chuyển Mailbox thông qua Exchange Management Shell Khi sử dụng Exchange Management Shell để chuyển mailbox, cmdlet để sử dụng là Move-Mailbox cmdlet. Khi sử dụng cmdlet này, có nhiều tham số được cung cấp cho quản trị viên Exchange mà không được cung cấp trong Exchange Management Console. Trong phần cuối của bài này, chúng tôi sẽ giới thiệu một số tham số thú vị để bạn có thể tham khảo và sử dụng. Đầu tiên, chúng ta hãy xem xét đến vấn đề chuyển đơn giản một mailbox từ máy chủ Exchange 2003 sang máy chủ Exchange 2007 trong cùng một forest. Trong định dạng cơ bản của nó, cmdlet để thực hiện nhiệm vụ này cho mailbox của User3 là:
Move-Mailbox User3 –TargetDatabase “E2K7\First Storage Group\Mailbox Database” –Confirm:$false
Rõ ràng, tham số chính ở đây làTargetDatabase, tham số này trong ví dụ trên được cấu hình để chuyển mailbox đến một cơ sở dữ liệu mailbox khác có tên là Mailbox Database bên trong nhóm lưu trữ có tên gọi là First Storage Group trên máy chủ Exchange 2007 có tên gọi là E2K7. Nếu thực thi cmdlet này thì bạn sẽ thấy được trạng thái của hoạt động khi nó tiến hành thông qua các thư mục và chuyển các thư tín qua đó. Vấn đề này được thể hiện rất rõ trong hình 20. Lưu ý việc sử dụng tham số –Confirm:$false, đây là tham số để bảo đảm cho bạn không bị nhắc nhở hỏi có chắc chắn không ‘Are you sure?’ trước khi mailbox được chuyển một cách thực sự.
Hình 20: Mailbox đang được chuyển thông qua Management Shell

Tham số –ValidateOnly là một tham số rất hữu dụng nếu bạn muốn xem mailbox nào có thể được chuyển mà không cần chuyển nó. Trong hình 21, bạn có thể thấy được chạy Move-Mailbox cmdlet với tham số –ValidateOnly, thuộc tính Status Message được thể hiện là “This mailbox can be moved to the target database" (Mailbox này có thể được chuyển đến cơ sở dữ liệu mục tiêu).

Hình 21: Các kết quả thu được từ tham số ValidateOnly

Sau một chuyển rời mailbox thành công, thuộc tính Status Message sẽ được thiết lập là “This mailbox has been moved to the target database” (Mailbox này đã được chuyển đến cơ sở dữ liệu mục tiêu). Bạn cần biết rằng tiện ích Move Mailbox chạy từ bên trong Exchange Management Console là đa luồng và bị hạn chế ở con số luồng tối đa là 4. Bạn có thể tăng số luồng này nếu sử dụng Exchange Management Shell để chuyển các mailbox. Tham số cụ thể mà bạn cần sử dụng là tham số –MaxThreads, tham số này có giá trị lớn nhất là 30. Tuy vậy, trước khi bạn thiết lập tham số này đạt giá trị lớn nhất (30), bạn hãy cân nhắc về hiện tượng tắc nghẽn cổ chai sẽ thế nào nếu thực hiện điều đó và do đó lợi ích thu được của bạn sẽ như thế nào. Bây giờ chúng ta hãy xem xét đến trường hợp bạn muốn chuyển tất cả các mailbox trên kho lưu trữ mailbox mặc định của một máy chủ Exchange 2003 có tên DCEXCH đến máy chủ Exchange 2007 server có tên E2K7. Tên kho lưu trữ mailbox trên máy chủ Exchange 2003 trong ví dụ này là Mailbox Store (DCEXCH). Trong trường hợp này, chúng tôi muốn chuyển 10 mailbox đồng thời cùng một lúc. Cmdlet để thực hiện sẽ là:
Get-Mailbox –Database “DCEXCH\First Storage Group\Mailbox Store (DCEXCH)” Move-Mailbox –TargetDatabase “E2K7\First Storage Group\Mailbox Database” –MaxThreads 10
Phần đầu sử dụng Get-Mailbox cmdlet để lấy lại tất cả các mailbox đã được lưu trữ trên cơ sở dữ liệu của máy chủ Exchange 2003. Vấn đề này được cho phép bởi Move-Mailbox cmdlet, tuy nhiên lưu ý thêm về tham số –MaxThreads 10 ở phần cuối. Kết quả thu được của quá trình thực hiện được thể hiện trong hình 22.

Hình 22: Việc chuyển tới hơn 4 mailbox đồng thời

Như đã nói từ trước, trong bài này chúng tôi đã mô tả chi tiết các file XML được sinh ra khi các mailbox được chuyển và vị trí mặc định của các file này là thư mục \Program Files\Microsoft\Exchange Server\Logging\MigrationLogs. Nếu bạn muốn thay đổi vị trí của file bản ghi XML thì có thể thực hiện được với Exchange Management Shell thông qua tham số –ReportFile. Lưu ý rằng bạn cần phải gộp cả đường dẫn đầy đủ và tên file trong tham số đó. Nếu tên thư mục đó không tồn tại thì nó sẽ được tạo mới. Một ví dụ về cmdlet trong chuyển mailbox của User3 và ghi các kết quả chuyển vào C:\MigLogs\mailboxes.xml là:
Move-Mailbox User3 –TargetDatabase “E2K7\First Storage Group\Mailbox Database” –ReportFile C:\MigLogs\mailboxes.xml –Confirm:$false
Cuối cùng, bạn có thể nhớ từ phần một của bài là tiện ích Move Mailbox có trong Exchange Management Console cho phép có thể chỉ định số các mục bị sửa đổi mà bạn sẽ bị ảnh hưởng khi chuyển mailbox. Rõ ràng thiết lập như vậy cũng tồn tại bên trong Exchange Management Shell dưới biểu mẫu tham số –BadItemLimit. Chúng tôi cũng đã nói trong phần một của bài về giá trị lớn nhất mà bạn có thể đặt là 2,147,483,647, Giá trị tối thiểu là 0. Kết luậnTrong phần kết luận của phần một, chúng tôi đã nói rằng việc chuyển các mailbox thông qua Exchange Management Console có thể được thực hiện một cách khá dễ dàng. Bên cạnh đó việc tiến hành chuyển trên Exchange Management Shell cũng thực sự không có gì phức tạp và không có gì làm chúng ta phải nghi ngờ rằng việc sử dụng Shell sẽ được ưu tiên hơn bởi nhiều quản trị viên do các tùy chọn cấu hình mở rộng được cung cấp bên trong nó.

Thứ Năm, 14 tháng 2, 2008

Chuyển mailbox trong Exchange 2007 thông qua Exchange Management Console - Phần 1

Có rất nhiều nhiệm vụ mà mỗi quản trị viên Exchange phải thực hiện hàng ngày và việc chuyển mailbox là một trong các nhiệm vụ đó. Một ví dụ rõ ràng nhất đối với việc chuyển mailbox là khi người dùng được chuyển từ một máy chủ Exchange này sang một máy chủ Exchange khác trong cùng một forest, có thể là giai đoạn phát triển từ Exchange 2000 hoặc Exchange 2003 sang Exchange 2007. Mặc dù vậy còn có nhiều lý do khác mà bạn cần phải thực hiện nhiệm vụ này, như việc chuyển mailbox sang một cơ sở dữ liệu mới mà ở đó có giới hạn kích thước mailbox lớn hơn, hoặc có thể là một quá trình cân bằng chung khi bạn muốn tất cả cơ sở dữ liệu của mình có kích thước xấp xỉ nhau. Việc chuyển mailbox trong một forest cần phải xem xét nhưng vấn đề này được giới thiệu rất ít trong các bài viết khác. Một thứ cần phải xem xét mà nó có thể làm khó các quản trị viên trong suốt quá trình chuyển mailbox đó là các mục trong items cache đã bị xóa, các mục này cũng được biết đến như ‘dumpster’ (dumpster là một tên được sử dụng cho các mục được thiết kế để nhận, truyền tải và chứa đựng các phần thừa), không bị chuyển khi mailbox được chuyển. Điều này có thể gây khó chịu đối với người dùng khi họ cố gắng lấy lại các mục mà họ đã biết là có thể lấy lại được trước khi việc di chuyển xuất hiện. Mặc dù vậy, trước khi bạn thực hiện bất cứ vấn đề chuyển mailbox nào thì điều cần làm đầu tiên là phải báo cho người dùng để họ kiểm tra items cache đã bị xóa của họ và lấy lại các mail quan trong trước khi việc chuyển mailbox diễn ra. Việc chuyển mailbox từ một máy chủ này sang một máy chủ khác trong cùng một forest là một quá trình thực sự đơn giản, quá trình này có thể được thực hiện bằng cách sử dụng Exchange Management Console hoặc Exchange Management Shell. Nếu bạn muốn chuyển từ Exchange 2000 hoặc Exchange 2003, thì không cần phải cố gắng chuyển các mailbox bằng Active Directory Users and Computers hay Exchange System Manager, vì không có cách nào để thực hiện điều đó. Như bạn có thể đã đọc được ở đâu đó, Exchange 2007 sẽ có Active Directory Users và Computers snap-in, điều đó có nghĩa rằng công việc của người nhận được thực hiện trong Exchange Management Console hoặc thông qua một tiện ích. Chúng ta hãy xem xét đến cả hai thủ tục trên, bắt đầu với Exchange Management Console.

Chuyển mailbox thông qua Exchange Management Console

1. Chạy Exchange Management Console, trong cây điều khiển, bạn tìm đến nút Recipient Configuration và kích vào nó.

2. Dưới nút Recipient Configuration, bạn chọn Mailbox.

3. Trong panel kết quả bạn sẽ thấy một danh sách các mailbox bên trong tổ chức Exchange. Nếu đây là lần đầu tiên tiến hành chuyển các mailbox của người dùng thì thì những mailbox này vẫn được đặt trên máy chủ Exchange 2000 hoặc Exchange 2003 và như vậy bạn sẽ xuất hiện Legacy Mailbox trong cột Recipient Type Details. Các mailbox đã được chuyển sang Exchange 2007 sẽ xuất hiện là User Mailbox. Còn có các kiểu mailbox khác được hiển thị như trong hình 1 bên dưới, ở đây User3 là một mailbox vẫn được đặt trên máy chủ Exchange 2003.
Hình 1: Mailbox được hiển thị trong Exchange Management Console


4. Để chuyển một mailbox, cách thực hiện rất đơn giản, bạn chỉ cần đánh dấu vào mailbox cần chuyển, kích chuột phải vào nó và chọn Move Mailbox... Lưu ý rằng bạn có thể chọn nhiều mailbox cùng một lúc. Chọn tùy chọn Move Mailbox… sẽ làm xuất hiện tiện ích Move Mailbox, đây là màn hình đầu tiên của tiện ích này bạn sẽ thấy trong hình 2.
Hình 2: Màn hình giới thiệu của tiện ích Move Mailbox


5. Trên màn hình giới thiệu này, chọn máy chủ Exchange 2007 mục tiêu, nhóm lưu trữ và cơ sở dữ liệu mà bạn sẽ đặt các mailbox vào đó. Khi thực hiện xong các thiết lập này, kích vào nút Next. 6. Tiếp theo, màn hình Move Options sẽ được hiển thị, như trong hình 3. Màn hình này sẽ cho phép bạn kiểm soát những gì xảy ra nếu bất thình lình quá trình chuyển mailbox gặp phải thông lỗi. Ở đây bạn có thể chọn để bỏ qua mailbox và vì vậy không chuyển nó, hoặc bỏ qua một số thông báo lỗi. Bạn có thể khai báo bao nhiều thông báo lỗi trong quá trình chuyển mailbox mà bạn sẽ bỏ qua. Trong Exchange 2003, số lượng lớn nhất của mục này là 100, nhưng bên trong tiện ích move mailbox hiện nay bạn có thể nhập đến 2^31-1, or 2,147,483,647. Nếu bạn hỏi tôi, 100 là quá đủ vì nếu thấy được nhiều mailbox bị lỗi thì bạn có thể có một vấn đề nào đó khi thực hiện. Khi đã hoàn toàn nhất trí với lựa chọn của mình, hãy kích Next.
Hình 3: Màn hình chọn của Move Mailbox


7. Tiếp theo là màn hình Move Schedule, như được thể hiện trong hình 4. Màn hình này cho phép bạn có thể chuyển mailbox ngay tức thì, hoặc sau một thời gian đã lên lịch trình. Màn hình này không có giá trị trong suốt quá trình chuyển. Nếu bạn chọn tùy chọn At the following time, thì ngày và thời gian được thiết lập bằng thời điểm hiện tại, vì vậy bạn sẽ phải chọn thời gian khi muốn quá trình chuyển bắt đầu. Bạn cũng cần lưu ý rằng tùy chọn Cancel tasks that are still running after (hours) sẽ cho phép chỉ định quá trình sẽ chạy bao lâu trước khi bị hủy bỏ. Việc này đặc biệt hữu dụng khi chuyển một số lượng lớn các mailbox trong đêm. Ví dụ, hình 4 thể hiện rằng việc chuyển mailbox sẽ được hủy bỏ sau 8 giờ đồng hồ, điều đó có nghĩa rằng nếu chúng được bắt đầu lúc 21h thì quá trình này sẽ được dừng vào lúc 5h sáng, cách này bảo đảm được rằng bất cứ người dùng nào có thể đến sớm làm việc đều không bị ảnh hưởng bởi quá trình chuyển mail. Nếu một mailbox đang được trong quá trình này chưa xong thì nó sẽ được chuyển quay trở về máy chủ nguồn còn tất cả các mailbox đã chuyển xong trước đó được giữ trên máy chủ mục tiêu. Tiếp đó, khi đã hoàn toàn hài lòng với các lựa chọn của mình, hãy kích Next.
Hình 4: Màn hình lập lịch trình cho quá trình chuyển mailbox


8. Màn hình áp chót sẽ được hiển thị là màn hình tóm tắt cho hoạt động chuyển mail của bạn sẽ được thực hiện như thế nào, để bạn có thể xem lại toàn bộ các chi tiết về công việc này. Khi đã hài lòng với quyết định của mình, kích nút Move để thực hiện quá trình. Nếu bạn quyết định chuyển các mailbox theo một thời gian đã được lên lịch trình thì màn hình tóm tắt sẽ hiện một quá trình đếm ngược như hình 5. Bạn có thể hủy bỏ quá trình chuyển này bất cứ khi nào bằng việc kích nút Cancel.
Hình 5: Bảng thời gian đếm ngược đã được lên lịch trình



9. Nếu chọn chuyển nhiều mailbox tại cùng một thời điểm thì bạn sẽ thấy màn hình tương tự như được hiển thị trong hình 6. Ở đây như bạn thấy, có 4 mailbox đang được chuyển tại cùng một thời điểm, mailbox thứ năm, mailbox của User9 thể hiện ở phần cuối với trạng thái Pending. Bên trong Exchange Management Console, bạn không thể chuyển hơn 4 mailbox cùng một thời điểm, mặc dù vậy bạn lại có thể thay đổi số luồng chuỗi công việc này khi sử dụng Exchange Management Shell (chúng tôi sẽ giới thiệu đến trong phần sau của loạt bài này).
Hình 6: Chuyển đổi nhiều Mailbox một lúc


10. Nếu tất cả mọi việc đều diễn ra tốt đẹp thì màn hình cuối cùng sẽ được hiển thị như hình 7.
Hình 7: Màn hình cuối cùng


Exchange Management Console không thể được sử dụng để chuyển mailbox trong các forest khác nhau. Để thực hiện điều đó, bạn cần phải sử dụng Exchange Management Shell. Exchange thực hiện khá nhiều kiểm tra để bảo đảm cho việc chuyển mailbox của bạn diễn ra thành công. Ví dụ, nếu bạn cố gắng chuyển mailbox sang một cơ sở dữ liệu Exchange 2007 có kích thước mailbox nhỏ hơn kích thước của mailbox hiện thời thì bạn sẽ thấy thông báo lỗi xuất hiện như trong hình 8. Hay một ví dụ về việc kiểm tra khác, bạn có thể thấy trong hình 9 khi tôi đã thực hiện để tạo một mailbox bản sao trong suốt quá trình kiểm thử, kết quả là mailbox bản sao này đã bị xóa trước khi thử chuyển đổi mailbox.
Hình 8: Kiểm tra kích thước mailbox


Hình 9: Thông báo lỗi của mailbox bảo sao


Bản ghi sự kiện Bạn thấy những gì trong bộ xem sự kiện khi quá trình chuyển mailbox được thực hiện? Trong bài test của tôi, đều có các sự kiện tương tự nhau được ghi dù việc ghi chuẩn đoán được thiết lập ở chế độ thấp hay cao đi chăng nữa. Trong toàn bộ mục bản ghi sự kiện bên dưới, bạn sẽ thấy được rằng có 3 nguồn của Exchange Migration và một chủng loại của Move Mailbox. Sự kiện đầu tiên được ghi là sự kiện 1006, như trong hình 10. Ở đây bạn có thể thấy rằng quá trình là đang được thực hiện. Các cơ sở dữ liệu nguồn và đích được tiết lộ cũng như cả thuộc tính Exchange DN của mailbox đang được chuyển.
Hình 10: Sự kiện 1006



Khi mailbox đã được chuyển xong, sự kiện 1007 được ghi lại như những gì bạn có thể thấy trong hình 11.



Hình 11: Sự kiện 1007

Cuối cùng, sự kiện 9354 được ghi lại, đây là sự kiện khai báo cho bạn biết rằng mailbox gốc của bạn đã bị xóa từ cơ sở dữ liệu nguồn, xem hiển thị trong hình 12.
Hình 12: Sự kiện 9354


Một mục ghi sự kiện khác cũng đáng phải đưa ra là mục được giới thiệu đầu tiên trong Exchange 2003. Nó thường được quan tâm như một cách thao tác tốt nhất để bảo đảm rằng người dùng sẽ truy xuất ra khỏi mailbox của họ khi bạn chuyển nó. Nếu người dùng cố gắng truy cập vào mailbox của họ trong khi nó đang trong quá trình chuyển thì sự kiện 9660 sẽ được ghi lại với nguồn MSExchangeIS và hạng mục Logons. Một ví dụ cho sự kiện này được thể hiện trong hình 13.
Hình 13: Sự kiện 9606


Kết luận Việc chuyển mailbox trong Exchange 2007 được thực hiện khá dễ dàng khi bạn sử dụng Move Mailbox wizard từ bên trong Exchange Management Console. Trong phần hai của loạt bài này, chúng tôi sẽ tiếp tục giới thiệu về quá trình chuyển đổi này nhưng sử dụng Exchange Management Shell.

Thứ Sáu, 1 tháng 2, 2008