5.2.2.1. Đối tượng danh bạ
Mỗi tài nguyên mạng được đại diện bằng một đối tượng trong danh bạ. Các đối tượng danh bạ có các đặc điểm sau:
KHOA CNTT –
ĐH KHTN
38
● Tên. Ví dụ, trong sơ đồ bên dưới tên của một đối tượng người dùng là CN = Jeff Smith.
● Cha. Các đối tượng mạng đều kế thừa và có một đối tượng cha cho đến khi bạn dò đến đối tượng gốc ở trên đỉnh của cây kế thừa.
●Đường dẫn. Đường dẫn của đối tượng danh bạđược xây dựng với tên của đối tượng cha đặt trước tên đối tượng cho đến đối tượng gốc. Ví dụ, đường dẫn của đối tượng người dùng CN=Jeff Smith là: DC=Fabrikam, DC=COM, OU=Sales, CN=Jeff Smith. Các đường dẫn sử dụng một cú pháp được định bởi đặc tả LDAP.
Hình 5.3
5.2.2.2. Liên kết đến các đối tượng danh bạ
Ở đây, trong phần này chúng tôi không muốn các bạn bối rối hơn nữa vì một loạt các khái niệm, định nghĩa, giới thiệu,…Do đó chúng tôi sẽđưa ra các ví dụ cụ thể
mà chúng tôi tin chắc là hoàn toàn dễ hiểu đối với tất cả mọi người. Và từ các ví dụ này các bạn có thể dễ dàng áp dụng lại cho các mục đích của mình.
●Liên kết đến domain hiện hành: trong ngôn ngữ VisualBasic.NET bạn chỉ cần khai báo:
Dim ent As New DirectoryEntry()
● Liên kết đến một máy chủ cụ thể: bạn chỉ cần đưa tên máy chủ mà bạn muốn kết nối đến. Ví dụ như bạn muốn liên kết đến máy chủ tên là server1 thì bạn sẽ khai báo như sau:
KHOA CNTT –
ĐH KHTN
39
Dim ent As New DirectoryEntry("LDAP://server01")
● Liên kết đến một domain cụ thể: tương tự để liên kết đến một domain cụ thể
bạn sẽ phải đưa vào tên của domain ấy.
Dim ent As New DirectoryEntry("LDAP://platform.fabrikam.com")
●Liên kết đến một đối tượng cụ thể:
Khi bạn cần chỉnh sửa hay đọc thông tin từ một đối tượng cụ thể, bạn sẽđưa tên của đối tượng đó vào. Giả sử như ví dụ trong phần 5.2.2.1, nếu bạn muốn liên kết đến
đối tượng Jeff Smith, bạn sẽđưa vào tên đầy đủ của đối tượng đó:
+ Nếu bạn biết chắc chắn đối tượng mà mình muốn liên kết đến thuộc domain của mình thì bạn chỉ cần khai báo:
Dim ent As New DirectoryEntry("LDAP:// CN=Jeff
Smith,OU=Marketing,DC=fabrikam,DC=Com")
+ Nếu bạn biết đối tượng đó thuộc về máy chủ nào:
Dim ent As New DirectoryEntry("LDAP:// server01/CN=Jeff
Smith,OU=Marketing,DC=fabrikam,DC=Com")
+ Nếu bạn biết đối tượng đó thuộc về domain nào:
Dim ent As New DirectoryEntry("LDAP://
fabrikam.com/CN=Jeff Smith,OU=Marketing,DC=fabrikam,DC=Com")
Sau khi đã liên kết đến một đối tượng mong muốn, bạn có thể sử dụng các thông tin của chúng một cách tùy thích. Như với đối tượng người dùng là Jeff Smith, bạn có thể lấy số nhà, sốđiện thoại, nhóm làm việc,…của đối tượng này.
Và để kết lại phần này chúng tôi muốn các bạn xem một ví dụ nữa, một ví dụ
KHOA CNTT –
ĐH KHTN
40
Dim ent As New DirectoryEntry(“LDAP:
//khtn.com/CN=Computers,DC=khtn,DC=com”) Dim child As DirectoryEntry
Dim strName As String
For Each child In ent.Children
strName = child.Name Next child
KHOA CNTT – ĐH KHTN 41 Phần 3: Thiết kế và cài đặt ứng dụng Chương 6: Ứng dụng và các chức năng của ứng dụng 6.1. Giới thiệu chương trình
Chương trình ShutdownTimer được xây dựng dưới dạng dịch vụ chạy trên Windows Server 2003 domain controller để shutdown các máy trong domain theo thời gian định trước.
Đối với máy DC: chương trình có thể chạy trên hệ điều hành Windows 2000 Server và Windows Server 2003, Windows NT Server 4.0 từ SP4 trở lên.
Đối với các máy trạm: chương trình có thể chạy trên Windows 2000 Professional , Windows XP, Windows NT WorkStation 4.0 từ SP4 trở lên.
6.2. Các lớp chính của chương trình
Chương trình gồm các lớp chính sau:
● Lớp HenGioForm:
Lớp này chứa form dùng để giao tiếp với người dùng và dịch vụ bên dưới. Người dùng sẽ thực hiện các thao tác hẹn giờ và chọn máy shutdown trên form này. Sau khi người dùng đã thực hiện xong các thao tác và bấm chọn nút đồng ý thì chương trình của ta sẽ thực hiện lấy các thông tin từ form ghi vào tập tin chứa các thông tin về
thời gian và các máy shutdown.
Đồng thời trong lớp này cũng sử dụng đối tượng ServiceController để điều khiển dịch vụ. Mỗi lần người dùng thực hiện một giờ hẹn mới, đối tượng này sẽ chịu trách nhiệm khởi động lại dịch vụđể dịch vụ cập nhật các thông tin shutdown mới.
● Lớp Service1:
Đây là lớp chính của chương trình, được viết dưới dạng dịch vụ và kế thừa từ
lớp System.ServiceProcess.ServiceBase. Lớp này định nghĩa chồng lại hai phương thức chính là OnStart và OnStop.
KHOA CNTT –
ĐH KHTN
42
_ Phương thức OnStop chỉđơn giản là ghi vào evenlog một thông tin cho biết là dịch vụđã được dừng.
_ Phương thức OnStart:
+ Đọc các thông tin shutdown từ tập tin.
+ Sử dụng một đối tượng Timer để kiểm tra xem đã đến giờ hẹn hay chưa. Nếu đến giờ đã hẹn thì gọi hàm shutdown.
● Lớp ProjectInstaller:
Được sử dụng để cài đặt và gỡ bỏ dịch vụ.
6.3. Lưu đồ hoạt động chính của ứng dụng
KHOA CNTT –
ĐH KHTN
43
KHOA CNTT –
ĐH KHTN
44
Ởđây, có lẽ chúng ta sẽ nói thêm cho rõ về phần kiểm tra xem đã đến giờ hẹn chưa. Khi người dùng kết thúc việc hẹn giờ, chương trình sẽ lấy các thông tin này ghi vào tập tin đồng thời kích hoạt dịch vụ hoạt động. Khi dịch vụ bắt đầu hoạt động nó sẽ đọc giờ hẹn ra và kích hoạt thành phần Timer hoạt động, thành phần này sẽ chịu trách nhiệm lấy giờ hệ thống sau mỗi phút, so sánh với giờ hẹn. Nếu đúng giờ hẹn sẽ gọi hàm thực hiện hành động đã được người sử dụng lựa chọn như shutdown, restart,…
6.4. Cách cài đặt và sử dụng ứng dụng
1. Chạy tập tin Setup.exeđể cài đặt dịch vụ.
Hình 6.2 2. Chọn thư mục để cài đặt dịch vụ.
KHOA CNTT –
ĐH KHTN
45
Hình 6.3
3. Trong quá trình cài đặt, bạn sẽ phải nhập tên tài khoản và mật mã của tài khoản mà dịch vụ sẽ chạy bên dưới tài khoản đó. Bạn phải đảm bảo là tài khoản của bạn phải thuộc nhóm quản trị. Chỉ khi nào tài khoản của bạn thuộc nhóm quản trị thì bạn mới có quyền shutdown các máy trong domain, do đó hãy cung cấp tên tài khoản và mật mã tài khoản một cách chính xác..
KHOA CNTT –
ĐH KHTN
46
Hình 6.4
4. Kích chọn Close để hoàn tất quá trình cài đặt dịch vụ.
Hình 6.5 5. Bạn có thể chạy chương trình bằng ba cách :
KHOA CNTT –
ĐH KHTN
47
_ Cách 2: nhắp đôi chuột vào shortcut của chương trình vừa được tạo ra trên màn hình với tên mặc định là ShutdownTimer.
_ Cách 3: vào Start à Programs để kích họat chương trình.
Nếu bạn vừa cài đặt dịch vụ xong và đây là lần đầu tiên chạy ứng dụng, bạn sẽ
nhận được một thông báo yêu cầu bạn đặt mật khẩu để bảo đảm an toàn cho chương trình của bạn. Hình 6.6 6. Kích OKđể thực hiện đặt mật khẩu cho chương trình. Màn hình đặt mật khẩu xuất hiện. Hình 6.7 7. Kích chọn Đồng ý để trở về màn hình đăng nhập.
KHOA CNTT – ĐH KHTN 48 Hình 6.8 * Tại đây, bạn có thể thực hiện đổi mật khẩu nếu muốn. Kích chọn Đổi mật khẩu để thực hiện đổi mật khẩu. 8. Nhập mật khẩu và kích chọn Đồng ý để vào màn hình hẹn giờ của chương trình.
● Thực hiện hẹn giờ và chọn hành động muốn thưc hiện vào giờ hẹn trong tab Hẹn giờ.
KHOA CNTT –
ĐH KHTN
49
Hình 6.9
Hẹn giờ có các tùy chọn sau:
_ Hẹn một lần: hẹn giờ shutdown máy vào một thời điểm duy nhất của một ngày duy nhất.
_ Hẹn lặp.
+ Mỗi ngày: hẹn giờ shutdown máy vào mỗi ngày
+ Các ngày trong tuần: hẹn giờ shutdown máy vào các thứ trong tuần.
_ Bỏ hẹn: Hủy bỏ tất cả các thời gian đã hẹn, không hẹn giờ nữa.
KHOA CNTT –
ĐH KHTN
50
_ Shutdown.
_ Forced Shutdown: Shutdown máy bất kể máy đang thực hiện công việc gì.
_ Restart: Khởi động lại máy tính.
_ Forced Restart: Khởi động lại máy tính bất kể máy đang thực hiện công việc gì.
_ LogOff: Đăng xuất.
_ Forced LogOff: Đăng xuất bất kể máy đang thực hiện công việc gì.
KHOA CNTT –
ĐH KHTN
51
Hình 6.10
Trong phần này, ứng dụng có hai tùy chọn cho bạn lựa chọn:
_ Môi trường đơn: nếu chương trình của bạn chỉ áp dụng cho máy đơn cục bộ. _ Môi trường mạng: Nếu máy của bạn là DC cho một domain. Nếu máy của bạn là máy đơn, hoặc là máy mạng nhưng không phải là DC thì khi bạn chọn tùy chọn này bạn sẽ nhận được một thông báo lỗi.
Trong môi trường mạng bạn sẽ chọn các máy để chương trình thực hiện hành
động shutdown (restart, logoff,…) khi đến giờ hẹn. Bạn có thể chọn DC, cũng có thể
KHOA CNTT –
ĐH KHTN
52
Đối với các máy trạm, bạn có hai tùy chọn:
+ Tất cả: chương trình sẽ thực hiện shutdown tất cả các máy trạm đang họat động vào giờ hẹn.
+ Tùy chọn: chương trình chỉ thực hiện hành động shutdown đối với các máy trạm đã được bạn chọn vào giờ hẹn.
9. kích Đồng ý để bắt đầu hẹn giờ và kích hoạt chương trình.
* Nếu bạn muốn hẹn giờ cho nhiều nhóm máy riêng biệt thì vẫn thao tác như
với một nhóm máy ứng với mỗi nhóm
VD: bạn hẹn cho nhóm 1 thời gian hẹn là thứ 2, 4, và 6, còn các máy áp dụng là tất cả các máy trạm. Bấm đồng ý để xác nhận.
Tiếp tục hẹn cho nhóm 2 thời gian hẹn là mỗI ngày, còn máy áp dụng là một số máy trạm tùy chọn. Bấm đồng ý để xác nhận cho nhóm này.
Đến đây thì xem như bạn đã hòan thành việc hẹn giờ cho hai nhóm riêng biệt.
Bạn có thể sang tab “các nhóm đã hẹn” để xem lại thời gian mà mình đã hẹn cho các nhóm có đúng hay không.
KHOA CNTT –
ĐH KHTN
53
KHOA CNTT –
ĐH KHTN
54
Chương 7: Kết luận - Đánh giá – Hướng phát triển 7.1. Kết luận và đánh giá
Ứng dụng đáp ứng đầy đủ các yêu cầu đặt ra cùng với các ưu và khuyết điểm tự
nhận xét như sau:
●Ưu điểm:
+ Đơn giản, dễ sử dụng, giao diện thân thiện với người dùng.
+ Chức năng hẹn giờ linh hoạt giúp người sử dụng có thể dễ dàng chọn lựa được dạng giờ hẹn mong muốn.Cho phép hẹn giờ vào một ngày bất kì và hẹn lặp giờ vào mỗi ngày hay các thứ trong tuần. Chức năng này thật sự thích hợp cho các tổ
chức, trung tâm có thời khóa biểu làm việc rõ ràng cụ thể.
+ Giao diện giao tiếp với người dùng hoàn toàn bằng tiếng Việt.
+ Hỗ trợ đa dạng hành động cho việc hẹn giờ. Ví dụ: Shutdown, ForcedShutdown, Restart, ForcedRestart, LogOff, ForcedLogOff.
+ Cho phép hẹn giờ tắt máy theo từng nhóm hay từng máy.
+ Chạy tốt trên Windows server 2003 domain controller và shutdown
được một số hay tất cả các máy trên domain.
+ Để sử dụng chương trình bạn không cần phải cài đặt thêm bất cứ thứ gì trên các máy trạm.
● Nhược điểm:
+ Giao diện chương trình không mang tính mỹ thuật cao. + Không hiển thị thông báo khi tắt máy.
+ Chương trình chưa thật sự quan tâm nhiều lắm đến vấn đề bảo mật cho
KHOA CNTT –
ĐH KHTN
55
Ó Bảng so sánh các tính năng của chương trình với một số chưong trình đã có:
Chức năng ShutdownTimer Shutdown Alarm Or Restart Shutdown now Shutdown Plus Remote Tiện ích shutdown của Windows Giao diện tiếng Việt x x - - - Tắt máy cục bộ x x x x x Tắt máy từ xa x - x x x Hẹn giờ tắt máy vào ngày, giờ cốđịnh x x x x - Hẹn giờ tắt máy lặp lại vào mỗi ngày, mỗi thứ trong tuần x - x x - Không cần cài đặt chương trình trên các máy trạm x - x - x Hiển thị thông báo trước khi tắt. - x x x x Hẹn giờ tắt theo từng nhóm hoặc từng máy. x - - x - Có mật khẩu để bảo vệ chương trình x x - - -
KHOA CNTT –
ĐH KHTN
56
7.2. Hướng phát triển
+ Thiết kế lại giao diện để giao diện có tính mỹ thuật và bắt mắt người sử
dụng hơn.
+ Thêm một số chức năng phụ để chương trình thêm phong phú và đáp
ứng được nhu cầu luôn luôn tăng của người sử dụng như:
• Hiển thị thông báo trước khi thực hiện hành động shutdown, restart hay logoff.
●Đổ chuông hay phát tín hiệu khi đến giờ hẹn để báo sắp đến giờ
hẹn.
● Cho phép hẹn giờđể mở nhạc hay chạy một file nào đó.
●Đặt chếđộ theo dõi CPU để có thể shutdown, restart,… máy khi CPU rảnh rỗi trong một thời gian nào đó. ví dụ, khi CPU rảnh 99% trong 30 phút thì thực hiện shutdown máy,…
KHOA CNTT –
ĐH KHTN
57
TÀI LIỆU THAM KHẢO
1. Phạm Hoàng Dũng, Làm Chủ Windows Server 2003, 1, NXB Thống Kê, Số
21 Bùi Thị Xuân Q1_TP.HCM, 2003. 2. Tài liệu tham khảo điện tử MSDN 2004. 3. Webside: www.microsoft.com.