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

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, .

pdf64 trang | Chia sẻ: vietpd | Lượt xem: 1709 | Lượt tải: 3download
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