Kiểm tra Exchange 2007 bằng PowerShell – Phần 1

Neil Hobson

Giới thiệu

Quản trị mạng - Sau khi xây dựng và cấu hình một máy chủ Exchange 2007 mới của bạn, một trong những thứ đầu tiên mà bạn cần phải thực hiện đó là test thử hệ thống trước khi cho phép người dùng sử dụng, thậm chí cả những người dùng hoa tiêu ban đầu của bạn. Bất cứ vấn đề gì bắt gặp khi đó đều có thể được giải quyết trước khi chúng ảnh hưởng đến người dùng. Microsoft đã cung cấp một bộ các lệnh của Exchange Management Shell, các lệnh này có thể được sử dụng để test các dịch vụ cũng như các chức năng khác nhau của máy chủ Exchange 2007 trước khi bạn triển khai vào môi trường sản xuất. Rõ ràng, bạn cũng có thể sử dụng cùng các lệnh này trong suốt thời gian sử dụng máy chủ để test lại các chức năng mà bạn nghi ngờ. Tất cả các lệnh này đều bắt đầu bằng Test-.

Trên một dự án gần đây chúng tôi đã sử dụng nhiều Test- cmdlets khác nhau để test cấu hình của máy chủ Exchange 2007 đã được thiết lập và cấu hình. Toàn bộ bài này sẽ nói về một số lệnh đã được sử dụng. Chúng tôi không giới thiệu đến tất cả các lệnh có thể được sử dụng để test chức năng máy chủ vì danh sách các lệnh này là khá dài. Thêm vào đó, mỗi lệnh lại có một số tham số khác nhau và vì vậy sẽ không thực sự khả thi để giới thiệu được toàn bộ trong bài. Những gì chúng tôi hy vọng là cung cấp cho các bạn một số hiểu biết về các loại test có thể được thực hiện thông qua các lệnh này, bằng cách đó sẽ làm cho bạn nhớ chạy chúng lần tiếp theo khi bạn đã cấu hình máy chủ Exchange 2007 hoặc trong khi hệ thống đang hoạt động mà bạn vẫn thích kiểm thử.

Bảng 1 thể hiện một danh sách các lệnh có thể được sử dụng cho các mục đích kiểm thử. Các lệnh ở đây không được giới thiệu theo bất cứ thứ tựnào. Trong bài này, chúng tôi sẽ giới thiệu các lệnh Test-ServiceHealthTest-OutlookWebServices còn một số lệnh khác sẽ được giới thiệu tiếp trong phần 2.

Tên lệnh

Mục đích

Test-ActiveSyncConnectivity

Kiểm tra cấu hình ActiveSync đối với mailbox

Test-EdgeSynchronization

Kiểm tra trạng thái đồng bộ cho các máy chủ Edge Transport đã được đăng ký

Test-ExchangeSearch

Kiểm tra dịch vụ chỉ mục nội dung

Test-ImapConnectivity

Kiểm tra chức năng của dịch vụ IMAP4

Test-IPAllowListProvider

Kiểm tra cấu hình của IP Allow List provider

Test-IPBlockListProvider

Kiểm tra cấu hình của IP Block List provider

Test-Mailflow

Kiểm tra việc gửi và nhận email

Test-MapiConnectivity

Kiểm tra mailbox có thể được đăng nhập đúng hay không

Test-OutlookWebServices

Kiểm tra các thiết lập dịch vụ Autodiscover

Test-OwaConnectivity

Kiểm tra Outlook Web Access

Test-PopConnectivity

Kiểm tra chức năng của dịch vụ POP3

Test-ReplicationHealth

Kiểm tra tình trạng sức khỏe của tái tạo nhóm lưu trữ

Test-SenderId

Kiểm tra quá trình Sender ID

Test-ServiceHealth

Kiểm tra tất cả các dịch vụ cần thiết đã được bắt khởi chạy thành công

Test-SystemHealth

Kiểm tra toàn bộ cấu hình của tổ chức Exchange

Test-UMConnectivity

Kiểm tra hoạt động của máy chủ thư tín hợp nhất

Test-WebServicesConnectivity

Kiểm tra chức năng của Outlook Anywhere

Bảng 1: Danh sách các lệnh Test

Test-ServiceHealth

Chúng ta hãy bắt đầu bằng một lệnh tương đối đơn giản, Test-ServiceHealth.Với các role mới hiện diện trong Exchange 2007, có một vấn đề thay đổi so với các phiên bản trước đây của Exchange là mỗi máy chủ Exchange sẽ cấu hình các dịch vụ khác nhau trên nó, các cấu hình này phụ thuộc vào các role sẽ thực hiện. Cho ví dụ, dịch vụ Microsoft Exchange Transport sẽ chỉ thấy trên các máy chủ truyền tải chẳng hạn như các máy chủ Exchange 2007 chạy role Hub Transport hoặc Edge Transport. Một cách nhanh chóng để có thể kiểm tra xem các dịch vụ yêu cầu được hiện diện chưa và, quan trọng hơn, đã được khởi chạy hay chưa là bạn có thể sử dụng Test-ServiceHealth.

Bạn có thể chạy lệnh Test-ServiceHealth trên máy chủ nội bộ để kiểm tra các dịch vụ cài đặt nội bộ, hoặc có thể sử dụng tham số –Server để nhắm đến một máy chủ điều khiển xa nào đó. Trong hình 1, có thể thấy các kết quả khi chạy lệnh này trên máy chủ Exchange 2007 có cài đặt các role Mailbox, Hub Transport và Client Access Server. Lưu ý về cách phân biệt các kết quả được đưa ra ở đây cho mỗi role. Như những gì có thể thấy, các thông tin chính được thể hiện trong cột RequiredServicesRunning, các thông tin này sẽ chỉ thị rõ ràng một bài test thành công hay không. Nếu có bất cứ dịch vụ yêu cầu nào không chạy thì cột RequiredServicesRunning sẽ hiện False tương ứng với tên dịch vụ được liệt kê trong cột ServicesNotRunning.


Hình 1: Các kết quả mặc định của Test-ServiceHealth

Test-OutlookWebServices

Một trong những điều khó hiểu đối với các phần mới của Exchange 2007 là cấu hình dịch vụ Autodiscover, đặc biệt xung quanh vấn đề tên chứng chỉ. Nếu Subject Alternate Names sai bị liệt kê trong các chứng chỉ hoặc các vùng cấu hình nào đó chưa được hoàn tất thông qua các lệnh Exchange Management Shell khác thì quá trình Autodiscover sẽ bị thất bại. Với những người dùng Outlook 2007 thì điều này có nghĩa là các dịch vụ như Offline Address Book sẽ không có sẵn. Tuy nhiên, cấu hình Autodiscover có thể được kiểm tra đơn giản bằng cách sử dụng lệnh Test-OutlookWebServices. Vì dịch vụ này chạy trên role Client Access Server nên lệnh kiểm tra này cũng phải chạy cho Client Access Server.

Tham số chính để cung cấp cho lệnh này là –Identity, đây là tham số được sử dụng để kiểm tra Outlook provider và lấy biểu mẫu của địa chỉ email bên trong forest. Lệnh đã được sử dụng là:
Test-OutlookWebServices –Identity neil@neilhobson.com | fl


Hình 2: Đầu ra Test-OutlookWebServices

Những gì bạn thấy từ các kết quả trên là các dịch vụ AS (Availability Service), OAB (Offline Address Book) và UM (Unified Messaging) đã được liên lạc thành công bằng EXCH Outlook provider sử dụng FQDN của máy chủ nội bộ, nhưng các dịch vụ này lại không được cấu hình cho người dùng thông qua EXPR Outlook provider. Điều này bị tiết lộ bởi những từ mà chúng tôi thể hiện trong hình 3.

Id : 1015
Type : Information
Message : [EXPR]-The OAB is not configured for this user.
Hình 3: Trộn cấu hình EXPR Outlook Provider

Các kết quả này chính là dấu hiệu cho thấy rằng một số thành phần cấu hình chưa hoàn tất. Để xác nhận thông tin này, có thể sử dụng các lệnh Get-WebServicesVirtualDirectory, Get-OabVirtualDirectoryGet-UMVirtualDirectory và kiểm tra đầu ra, nơi tham số –ExternalUrl xuất hiện. Cho ví dụ, hãy xem xét hình 4, nơi lệnh Get-OabVirtualDirectory đã được chạy và cho ra các kết quả chỉ thể hiện tham số ExternalUrl.


Hình 4: Đầu ra của Get-OabVirtualDirectory

Tham số –ExternalUrl điều khiển URL mà Outlook sử dụng để truy vấn OAB khi chạy trên một mạng bên ngoài hoặc khi không nằm trong miền. Ngược lại, trên mạng bên trọng, Outlook sẽ truy vấn OAB thông qua tham số –InternalUrl, tham số này mặc định sẽ được thiết lập cho FQDN của Client Access Server. Mặc dù vậy, bạn sẽ cần phải cấu hình tham số –ExternalUrl. Chúng tôi sẽ không nói về chiều dài của dịch vụ Autodiscover ở đây vì đó không phải là tiêu điểm của bài viết này. Thứ chủ yếu mà bạn cần ở đây là khi bạn thấy một dịch vụ đã được mô tả “not configured for this user” khi sử dụng tham số Test-OutlookWebServices thì điều đó có nghĩa là một hoặc nhiều tham số –ExternalUrl bị mất. Bạn không được quên rằng có các cấu hình cho Availability Service, OAB và Unified Messaging. Chính vì vậy, sẽ có ba lệnh để cấu hình URL bên ngoài. Cho ví dụ, giả dụ tên một máy chủ Client Access Server là CAS1 và một miền ngoài là neilhobson.com, khi đó 3 lệnh cấu hình sẽ là:

Set-WebServicesVirtualDirectory –Identity “CAS1\EWS (Default Web Site)” –ExternalUrl https://autodiscover.neilhobson.com/EWS/Exchange.asmx

SetOabVirtualDirectory –Identity “CAS1\OAB (Default Web Site)” –ExternalUrl https://autodiscover.neilhobson.com/oab

Set-UMVirtualDirectory –Identity “CAS1\UnifiedMessaging (Default Web Site)” –ExternalUrl https://autodiscover.neilhobson.com/UnifiedMessaging/Service.asmx

Khi các lệnh này được thiết lập, bạn có thể chạy lại lệnh Test-OutlookWebServices ở nơi bạn muốn thấy một kiểm tra thành công bằng EXPR Outlook provider. Một ví dụ về các từ thể hiện như vậy nằm trong hình 5.

Id : 1015
Type : Success
Message : [EXPR]-Successfully contacted the OAB service at https://autodiscover
.neilhobson.com/ews/exchange.asmx. The elapsed time was 0 milliseconds.
Hình 5: Test thành công EXPR Outlook Provider

Kết luận

Cho tới đây, chúng tôi đã giới thiệu hai lệnh Test- cmdlet để các bạn có thể sử dụng cho việc kiểm tra cấu hình và hoạt động của máy chủ Exchange 2007 của mình. Hy vọng bạn sẽ thấy được các lệnh chẳng hạn như Test-OutlookWebServices có thể cung cấp các giá trị bên trong các vùng cấu hình vẫn chưa được hoàn tất như thế nào. Chúng tôi sẽ giới thiệu tiếp các lệnh này trong phần hai của loạt bài gồm hai phần này.

Thứ Sáu, 15/08/2008 09:52
31 👨 1.847
0 Bình luận
Sắp xếp theo