Chương 1:
Đặt vấn đề và giới thiệu đề tài. Nêu lí do chọn, mục đích của đề tài. Phân tích, đánh giá các chương trình đã có của các tác giả trong và ngoài nước có liên quan đến đề tài. M ục tiêu chính mà đề tài tập trung nghiên cứu giải quyết.
Chương 2:
Giới thiệu một số khái niệm liên quan,cần thiết cho đề tài như: domain, domain controller, d ịch vụ danh bạ, Active Directory, .
64 trang |
Chia sẻ: vietpd | Lượt xem: 1709 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Luận văn Xây dựng ứng dụng dạng dịch vụ chạy trên windows server 2003 domain controller để shutdown các máy trong domaintheo thời gian định trước, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
KH
OA
C
NT
T –
Đ
H
KH
TN
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN MẠNG MÁY TÍNH & VIỄN THÔNG
NGUYỄN QUỐC HÙNG 0012043
TRẦN THỊ HOÀI THANH 0012657
XÂY DỰNG ỨNG DỤNG 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
LUẬN VĂN CỬ NHÂN TIN HỌC
NGƯỜI HƯỚNG DẪN: THẦY NGUYỄN MINH TUẤN
NIÊN KHÓA 2000-2004
KH
OA
C
NT
T –
Đ
H
KH
TN
LỜI CẢM ƠN
Để thực hiện và hoàn thành tốt bài luận văn tốt nghiệp này, chúng em đã
nhận được sự giúp đỡ và hướng dẫn rất tận tình của các thầy cô và các bạn thuộc
khoa Công Nghệ Thông Tin trường Đại học Khoa Học tự Nhiên TP.Hồ Chí Minh.
Chúng em xin cảm ơn các thầy cô thuộc khoa Công Nghệ Thông Tin đã cung
cấp cho chúng em các kiến thức vô cùng quý báu và cần thiết trong suốt thời gian
học tập tại trường để chúng em có thể thực hiện và hoàn thành bài luận văn tốt
nghiệp này.
Đặc biệt, chúng em chân thành cảm ơn thầy Nguyễn Minh Tuấn đã tận tình
hướng dẫn và giúp đỡ chúng em trong suốt thời gian thực hiện đề tài.
Cuối cùng, chúng em xin cảm ơn gia đình cùng bạn bè đã tạo điều kiện, động
viên và giúp đỡ để chúng em đủ tự tin và nghị lực để thực hiện tốt đề tài.
Do giới hạn về mặt thời gian và kiến thức nên đề tài chắc chắn sẽ không
tránh khỏi những sai sót ngoài ý muốn. Chúng em rất mong nhận được sự thông
cảm và đóng góp ý kiến của quý thầy cô và các bạn.
Trân trọng kính chào.
Sinh viên thực hiện
Nguyễn Quốc Hùng
Trần Thị Hoài Thanh
KH
OA
C
NT
T –
Đ
H
KH
TN
Mục lục
MỤC LỤC
Trang
Phần 1: Mở Đầu
Chương 1: Đặt vấn đề và giới thiệu đề tài ............................................................. 1
1.1. Giới thiệu đề tài................................................................................... 1
2.1. Các chương trình đã có........................................................................ 2
Phần 2: Cơ sở lý thuyết
Chương 2: Tìm hiểu một số khái niệm liên quan đến đề tài................................... 4
2.1. Domain Controller ............................................................................... 4
2.2. Domain ................................................................................................ 5
2.3. Active Directory .................................................................................. 6
2.3.1. Active Directory là gì? ............................................................ 6
2.3.2. Lợi ích của Active Directory................................................... 6
2.4. Windows Server 2003 .......................................................................... 7
Chương 3: Tìm hiểu ứng dụng dạng dịch vụ ......................................................... 9
3.1. Tổng quan và các đặc điểm của ứng dụng dạng dịch vụ ....................... 9
3.2. Cơ chế hoạt động của các ứng dụng dạng dịch vụ .............................. 10
3.3. Tài khoản dịch vụ và mật mã tài khoản dịch vụ.................................. 11
3.4. Cách tạo một ứng dụng dịch vụ trong .NET Framework .................... 12
3.4.1. Các lớp chính trong việc tạo dịch vụ. .................................... 12
3.4.2. Tạo một ứng dụng dịch vụ đơn giản...................................... 14
3.5. Sự khác nhau giữa các ứng dụng dịch vụ và các ứng dụng .NET
Framework khác. ................................................................................................ 21
Chương 4: Tìm hiểu về WMI (Windows Management Instrument)..................... 23
4.1. Tổng quan về WMI............................................................................ 23
4.1.1. Khái niệm script và ngôn ngữ viết script ............................... 23
4.1.2. Tổng quan về WMI............................................................... 23
4.2. Kiến trúc WMI................................................................................... 25
KH
OA
C
NT
T –
Đ
H
KH
TN
Mục lục
4.2.1. Các tài nguyên được quản lý ................................................. 26
4.2.2. Cơ sở hạ tầng WMI............................................................... 26
4.2.2.1. Thư viện viết script WMI.......................................... 26
4.2.2.2. Kho lưu trữ CIM....................................................... 27
4.2.2.3. CIMOM.................................................................... 28
4.2.2.4. Các Provider ............................................................. 29
4.2.3. Phần tiêu thụ ......................................................................... 30
4.3. Ví dụ ứng dụng WMI đơn giản .......................................................... 30
4.4. Tìm hiểu Win32 Provider................................................................... 32
4.4.1. Các lớp mà Win32 Provider hỗ trợ........................................ 32
4.4.2. Lớp Win32_OperatingSystem............................................... 34
Chương 5: Tìm hiểu System.DirectoryServices................................................... 35
5.1. Tổng quan System.DirectoryServices................................................. 35
5.2. Cách sử dụng System.DirectoryServices ............................................ 36
5.2.1. Đưa System.DirectoryServices vào ứng dụng ....................... 36
5.2.2. Liên kết và sử dụng các đối tượng danh bạ............................ 37
5.2.2.1. Các đối tượng danh bạ .............................................. 37
5.2.2.2. Liên kết đến các đối tượng danh bạ........................... 38
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......................................... 41
6.1. Giới thiệu chương trình ...................................................................... 41
6.2. Các lớp chính của chương trình.......................................................... 41
6.3. Lưu đồ họat động chính của ứng dụng ............................................... 42
6.4. Cách cài đặt và sử dụng ứng dụng...................................................... 44
Phần 4: Kết luận
Chương 7: Kết luận - Đánh giá - Hướng phát triển.............................................. 54
7.1. Kết luận và đánh giá .......................................................................... 54
7.2. Hướng phát triển ................................................................................ 56
Tài liệu tham khảo .............................................................................................. 57
KH
OA
C
NT
T –
Đ
H
KH
TN
Bảng hình vẽ và các chữ viết tắt
BẢNG HÌNH VẼ VÀ CÁC CHỮ VIẾT TẮT
Hình vẽ
Trang
Hình 3.1 ................................................................................................... 18
Hình 3.2 .................................................................................................. 19
Hình 3.3 ................................................................................................... 20
Hình 4.1 ................................................................................................... 25
Hình 4.2 .................................................................................................. 31
Hình 5.1 ................................................................................................... 36
Hình 5.2 ................................................................................................... 37
Hình 5.3 .................................................................................................. 38
Hình 6.1 ................................................................................................... 43
Hình 6.2 ................................................................................................... 44
Hình 6.3 ................................................................................................... 45
Hình 6.4 ................................................................................................... 46
Hình 6.5 ................................................................................................... 46
Hình 6.6 ................................................................................................... 47
Hình 6.7 ................................................................................................... 47
Hình 6.8 ................................................................................................... 48
Hình 6.9 ................................................................................................... 49
Hình 6.10 ................................................................................................. 51
Hình 6.11 ................................................................................................. 53
Chữ viết tắt
WS2K3 : Windows Server 2003
Win2K : Windows 2000
DC : Domain Controller
PDC : Primary Domain Controller
BDC : Backup Domain Controller
SCM : Service Controll Manager
WMI : Windows management Instrument
CIM : Common Information Model
CIMOM : Common Information Model Object Manager
KH
OA
C
NT
T –
Đ
H
KH
TN
Tóm tắt luận văn
TÓM TẮT LUẬN VĂN
Chương 1:
Đặt vấn đề và giới thiệu đề tài. Nêu lí do chọn, mục đích của đề tài. Phân
tích, đánh giá các chương trình đã có của các tác giả trong và ngoài nước có liên
quan đến đề tài. Mục tiêu chính mà đề tài tập trung nghiên cứu giải quyết.
Chương 2:
Giới thiệu một số khái niệm liên quan, cần thiết cho đề tài như: domain,
domain controller, dịch vụ danh bạ, Active Directory,….
Chương 3:
Tìm hiểu về ứng dụng dạng dịch vụ: thế nào là một ứng dụng dạng dịch vụ?
Các đặc điểm chính của nó là gì? Cơ chế hoạt động của dịch vụ như thế nào?. Và
cũng trong phần này chúng ta sẽ xem cách tạo một ứng dụng dạng dịch vụ trong
.NET Framework, từ đó rút ra sự khác nhau giữa các ứng dụng dịch vụ và các ứng
dụng .NET Framework khác.
Chương 4:
Làm quen với WMI (Windows management Instrument), một kỹ thuật cho
phép quản lý, tương tác với các thành phần cốt lõi bên trong hệ điều hành Windows.
Nắm được kiến trúc của WMI và cách sử dụng WMI trong ứng dụng như thế nào.
Cũng trong chương 4, các bạn sẽ được làm quen với lớp
Win32_OperatingSystem cùng với phương thức Win32_Shutdown được dùng để
gọi shutdown Windows.
Chương 5:
Tìm hiểu về System.DirectoryServices, một namespace trong .NET
Framework cho phép truy cập đến ActiveDirectory thông qua kỹ thuật .NET để lấy
về các thông tin mong muốn. Tại đây bạn sẽ được xem các ví dụ rất cụ thể, đặc biệt
là cách truy cập vào ActiveDirectory để lấy về các máy tính thuộc cùng domain.
KH
OA
C
NT
T –
Đ
H
KH
TN
Tóm tắt luận văn
Chương 6:
Giới thiệu về ứng dụng và chức năng của ứng dụng, lưu đồ họat động, các
lớp chính và cách thức chính đã được sử dụng để viết ứng dụng. Hướng dẫn cài đặt
và sử dụng ứng dụng.
Chương 7:
Kết luận, tự đánh giá và hướng phát triển của ứng dụng.
KH
OA
C
NT
T –
Đ
H
KH
TN
Chương 1: Đặt vấn đề và giới thiệu đề tài
1
Phần 1: Mở Đầu
Chương 1: Đặt vấn đề và giới thiệu đề tài
1.1. Giới thiệu đề tài
Ngày nay, để cùng hòa vào xu thế phát triển công nghệ thông tin của thế giới,
bộ mặt công nghệ thông tin của Việt Nam đang có những bước phát triển thật đáng
mừng. Người người dùng máy tính, nhà nhà dùng máy tính, các tổ chức, công ty cũng
đang bước từng bước tin học hóa dần hệ thống làm việc của mình, các trường học,
trung tâm tin học cũng đã, đang mọc lên ngày càng đông đúc,… kéo theo đó là hàng
loạt hệ thống mạng máy tính nhỏ có, vừa có, lớn có cũng ra đời. Và các lợi ích do
mạng máy tính đem lại thì có lẽ chúng ta không cần bàn thêm nữa bởi vì cả các bạn, cả
chúng tôi đều đã ít nhất một lần thấy được những lợi ích do mạng máy tính đem lại cho
chúng ta.
Có mạng máy tính tức là chắc chắn sẽ có người quản trị mạng, những người
chịu trách nhiệm chăm sóc, theo dõi, hồi phục,… “sức khỏe” cho mạng. Vậy mà bạn
có tưởng tượng được không, một công việc mang tính chất “nhàm chán” lặp đi lặp lại
hàng ngày lại được xem mặc nhiên là công việc của các quản trị viên. Công việc mà
chúng tôi đề cập đến ở đây không gì khác hơn là: việc kiểm tra và thực hiện shutdown
các máy trạm còn sót lại, hay có khi là phải shutdown tất cả các máy này vào cuối mỗi
ngày làm việc. Đồng ý là Microsoft đã hỗ trợ cho chúng ta một cách làm ít tốn công
hơn trên Windows nhưng thật sự thì tuy rằng ngồi một chỗ nhưng người quản trị vẫn
phải thực hiện thao tác mở, nhập, nhắp, chọn,… hàng ngày hàng ngày và hàng ngày.
Chính vì lý do này nên chúng tôi đã chọn đề tài: “xây dựng ứng 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” để làm bài luận tốt nghiệp cho mình.
Không chỉ giúp ích được cho các tổ chức, các người quản trị mạng có nhu cầu
quản lý các máy trong domain của mình mà nhu cầu của các cá nhân cho các máy tính
đơn cũng không kém phần cần thiết. Bạn đi vắng? bạn hay ngủ quên khi nghe nhạc?
KH
OA
C
NT
T –
Đ
H
KH
TN
Chương 1: Đặt vấn đề và giới thiệu đề tài
2
bạn cần đi học hay đi làm việc quan trọng vào một số ngày nhất định nhưng lại hay
quên vì mải say sưa cùng chiếc máy vi tính. Bạn chỉ cần hẹn giờ, máy sẽ shutdown
giúp bạn, bạn có thể đi, có thể ngủ,… bất kì lúc nào mà không cần phải quan tâm nhiều
đến việc mình đã tắt máy hay chưa. Chúng tôi sẽ giúp bạn làm điều đó!
1.2. Các chương trình đã có
Hiện tại đã có một số chương trình hẹn giờ tự động tắt máy trên thị trường phần
mềm Việt Nam, nhưng đa số các chương trình này có giao diện bằng tiếng nước Ngoài
(tiếng Anh) làm cho một số người mới làm quen với máy tính sẽ gặp không ít khó khăn
khi sử dụng. Và, một điều cũng không kém phần quan trọng nữa đó là phần lớn các
phần mềm này đòi hỏi phải có bản quyền, tức là phải có mua mới được sử dụng.
Nhưng với mức sống trung bình của người dân Việt Nam hiện nay thì chi phí để chi trả
cho vấn đề bản quyền này cũng là một vấn đề không nhỏ.
Ngoài ra, hệ điều hành Microsoft Windows cũng cung cấp cho người sử dụng
một công cụ dòng lệnh để thực hiện việc tắt máy. Muốn sử dụng bạn chỉ cần đánh lệnh
shutdown và kèm theo các tham số cho phù hợp với yêu cầu. Ví dụ:
shutdown /i : để hiển thị giao diện đồ họa giúp người dùng dễ dàng chọn máy
cũng như hành động muốn thực hiện.
shutdown /s : để shutdown máy cục bộ.
shutdown /s/m \\may1 : để shutdown máy ở xa có tên là “may1”,….
Nhìn chung thì công cụ này đã thực hiện tốt việc tắt máy cục bộ hay ở xa.
Nhưng nó vẫn còn một số hạn chế là không thể đặt được giờ hẹn cũng như giờ hẹn lặp,
tức là mỗi lần muốn tắt máy cục bộ hay máy từ xa, bạn đều phải thao tác bằng tay.
Còn về các chương trình hẹn giờ tự động tắt máy do chính người Việt viết thì
sau một thời gian tìm hiểu chúng tôi nhận thấy rằng: không có nhiều chương trình cho
vấn đề này, nổi bật nhất là chương trình ShutdownAlarm.
_ Ưu điểm của ShutdownAlarm:
+ Giải quyết được tương đối yêu cầu đặt ra là hẹn giờ để tắt máy.
KH
OA
C
NT
T –
Đ
H
KH
TN
Chương 1: Đặt vấn đề và giới thiệu đề tài
3
+ Miễn phí.
+ Mã nguồn mở.
_ Khuyết điểm của ShutdownAlarm:
+ Chỉ cho hẹn vào một thời điểm trong một ngày, tức là chúng ta không
thể hẹn giờ vào các ngày lặp lại. Ví dụ như mỗi ngày, mỗi thứ hay các thứ trong
tuần,..v…v..
+ Chỉ có thể hẹn giờ tắt máy cho máy cục bộ.
Do đó, trong đề tài này chúng tôi luôn cố gắng tập trung vào giải quyết các yêu
cầu chính mà chương trình cần có là:
_ Chạy được trên Windows 2003 server.
_ Shutdown được các máy trong cùng domain.
_ Đặt được thời gian shutdown linh hoạt hơn.
_ Có thể gọi chương trình bất cứ lúc nào, tại bất cứ máy nào (work-station hay
domain controller server) bằng phương tiện Remote Deskstop Connection.
KH
OA
C
NT
T –
Đ
H
KH
TN
Chương 2: Tìm hiểu một số khái niệm liên quan đến đề tài
4
Phần 2: Cơ sở lý thuyết
Chương 2: Tìm hiểu một số khái niệm liên quan đến đề tài
2.1. Domain Controller
Như chúng ta đã biết: nối mạng là tất cả những gì về chia sẻ dùng chung, nhưng
không phải vì vậy mà có thể “mở cửa” cho bất kì ai vào ra một cách tự do mà người
quản trị phải tạo ra các tài khoản người dùng và lưu trữ chúng ở một file nào đó để xác
minh và bảo đảm đúng quyền hạn truy cập của người dùng. Ở dạng đơn giản nhất, các
tài khoản người dùng bao gồm một cơ sở dữ liệu các tên người dùng và mật khẩu. NT
4 lưu trữ thông tin người dùng trong một tập tin tên là SAM nhưng Windows 2000
(Win2K) và Windows Server 2003 (WinS2K3) lưu trữ trong một tập tin tên là
NTDS.DIT. Dữ liệu trong NTDS.DIT được mã hóa phức tạp hơn trong SAM để đảm
bảo cho cơ sở dữ liệu an toàn hơn.
Nếu mạng của bạn có một server thì tập tin chứa các tài khoản người dùng sẽ
được lưu trữ ở đó, thế nhưng nếu mạng của bạn gồm nhiều server. Hầu hết các công ty
lớn đều phải xây dựng nhiều server và số server lên đến hàng chục hoặc hàng trăm
cũng không phải là hiếm (xét trên bình diện thế giới). Có phải chúng ta sẽ lưu trữ mỗi
bản sao hoàn chỉnh của NTDS.DIT trên mỗi server?. Thực tế thì:
● Thứ nhất: kích thước của NTDS.DIT có thể hơi bị lớn do đó chúng ta sẽ phải
tốn khá nhiều bộ nhớ để lưu trữ file này trong tất cả các server.
● Thứ hai: nếu các server được nối kết bởi những đường tốc độ chậm thì quá
trình cập nhật NTDS.DIT đến tất cả các server trên mạng sẽ có thể chiếm dụng nhiều
thời gian và dung lượng đường truyền.
● Thứ ba: chúng ta có thực sự cần phải tạo ra một “trận bão” sao chép tập tin
giữa các server trên mạng mỗi khi ai đó chỉ đơn giản là thay đổi mật khẩu của họ
chăng?
KH
OA
C
NT
T –
Đ
H
KH
TN
Chương 2: Tìm hiểu một số khái niệm liên quan đến đề tài
5
● Thứ tư: nếu chúng ta sao chép NTDS.DIT đến từng server một trong mạng,
rất có thể là có một vài server trong số đó bị hớ hênh, không được bảo vệ về mặt vật lý.
Như thế sẽ rất dễ dàng cho việc đánh cắp NTDS.DIT từ các máy đó.
Do đó, NTDS.DIT sẽ được đặt trên một nhóm nhỏ các server và các server này
sẽ đóng vai trò của logon server, đảm trách việc xác minh cho những server còn lại.
Những server này thường được gọi là domain controller.
Domain controller (DC) là một server chứng thực cho việc logon vào domain,
duy trì chính sách bảo mật và cơ sở dữ liệu của các tài khoản người dùng trong domain.
Hay nói một cách đơn giản hơn là: domain controller (DC) sẽ làm các công việc như:
kiểm tra sự hợp lệ của username và password, kiểm tra xem client này có phải là thành
viên trong domain của mình hay không, cập nhật thông tin cho nhau,…
Có hai lọai domain controller (DC):
● Primary domain controller (PDC): Trên một domain chỉ có một primary
domain controller duy nhất. Primary domain controller sẽ là DC đầu tiên nhất được tạo
ra và nó là “nhà kho” chính cho dữ liệu của domain.
● Backup domain controller (BDC): Trái lại với primary DC, trên một domain
có thể tồn tại nhiều backup DC. Backup DC Ngoài chức năng chính như tên gọi của nó
là backup dữ liệu từ primary DC thì backup DC cũng có thể chứng thực thông tin logon
của user và có thể được nâng cấp lên như primary DC khi cần thiết.
2.2. Domain
Domain là tập hợp những máy dùng chung cùng một danh sách các tài khoản
người dùng, tức cùng một NTDS.DIT. Các máy này cùng chia sẻ một cơ sở dữ liệu
danh bạ chung (common directory database). Cho nên, các máy trạm, các server, các
domain controller đều là những thành viên của cùng một domain. Mỗi domain có một
tên duy nhất và có các chính sách bảo mật cũng như các mối liên hệ bảo mật với các
domain khác của chính nó.
KH
OA
C
NT
T –
Đ
H
KH
TN
Chương 2: Tìm hiểu một số khái niệm liên quan đến đề tài
6
2.3. Active Directory
2.3.1 Active Directory là gì?
Dịch vụ danh bạ (direct