Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
ระบบบรหารจดการอปกรณคอมพวเตอร Computer Inventory Management System (CIMS)
เอกชย ภคเลศพงศ Ekkachai Pakalerdphong
สารนพนธนเปนสวนหนงของการศกษา หลกสตรวทยาศาสตรมหาบณฑต สาขาเทคโนโลยสารสนเทศ
คณะวทยาการและเทคโนโลยสารสนเทศ มหาวทยาลยเทคโนโลยมหานคร
ปการศกษา 2558
II
หวขอ ระบบบรหารจดการอปกรณคอมพวเตอร ชอนกศกษา เอกชย ภคเลศพงศ รหสนกศกษา 5717680003 หลกสตร วทยาศาสตรมหาบณฑต สาขาเทคโนโลยสารสนเทศ ปการศกษา 2558 อาจารยทปรกษา ผศ.ดร. วรพล ลลาเกยรตสกล อาจารยทปรกษารวม อาจารย ณฐพงษ ชวยบ ารง
บทคดยอ
วตถประสงคของ “ระบบบรหารจดการอปกรณคอมพวเตอร” ไดพฒนาขนเพอเปนเครองมอชวยใหเจาหนาทแผนกคอมพวเตอร หรอผดแลระบบ หรอผทตองรบผดชอบการตรวจสอบอปกรณคอมพวเตอร สามารถบรหารจดการอปกรณคอมพวเตอรตางๆ ใหสมบรณ พรอมใชงาน และเพอชวยลดระยะเวลาในการปฏบตงานของเจาหนาทใหสามารถใชเวลาไดนอยลง และยงเปนการชวยเพมประสทธภาพในการท างานของเจาหนาท รวมทงความถกตองของขอมลของอปกรณคอมพวเตอรตางๆ ทมกจะตองมการตรวจสอบอยเปนประจ า
III
กตตกรรมประกาศ
สารนพนธนไดพฒนาจนส าเรจดวยด เพราะความกรณา ความชวยเหลอ และก าลงใจจากหลายๆ ทาน ขาพเจาขอขอบพระคณมา ณ ทน ขอขอบพระคณ ผศ.ดร. วรพล ลลาเกยรตสกล และอาจารย ณฐพงษ ชวยบ ารง ซงเปนอาจารยทปรกษาหลก และทปรกษารวมของโครงงาน ทกรณาเสยสละเวลาใหค าแนะน าและคอยตรวจสอบโครงงานอยสม าเสมอ และยงคอยชวยเหลอหาตวอยางของโครงงานอนๆ ทมความสอดคลองกนมาใหศกษาเพมเตมอกดวย ขอขอบพระคณอาจารยทกๆ ทานทชวยประสทธประสาทวชาแกขาพเจาตงแตขาพเจาเขามาศกษาในทแหงน ขอบคณก าลงใจจากอาจารยทกทานทท าใหขาพเจาพฒนาโครงงานนใหส าเรจไปไดดวยด ขอขอบพระคณพๆ เพอนๆ และทกคนทชวยใหค าแนะน าตางๆ ในการพฒนาโครงงานน และยงคอยเปนก าลงใจใหกบขาพเจาในการท างานเสมอมา สดทายนขาพเจาขอขอบพระคณ บดา มารดา และครอบครวทคอยชวยเหลอสงเสรมในดานตางๆ และยงเปนก าลงใจทส าคญยงของขาพเจา
เอกชย ภคเลศพงศ พฤษภาคม 2559
IV
สารบญ หนา
บทคดยอ II กตตกรรมประกาศ III สารบญ IV สารบญรป VI สารบญตาราง VII บทท 1 บทน า 1
1.1 กลาวน า 1 1.2 ปญหาและแรงจงใจ 1 1.3 แนวทางการแกไขปญหา 2 1.4 วตถประสงค 2 1.5 ภาพรวมของระบบ 2 1.6 ขอบเขตการท างานของระบบ 2 1.7 ประโยชนทคาดวาจะไดรบ 3 1.8 โครงสรางของสารนพนธ 3
บทท 2 พนฐานและทฤษฎทเกยวของ 4 2.1 Windows Management Instrument (WMI) 4
2.2 WMI Architecture 4 2.3 WMI Components 5 2.4 Connecting to WMI on a Remote Computer 6 2.5 WMI Classes 7
บทท 3 การออกแบบและพฒนาระบบ 8 3.1 แนวทางการออกแบบระบบ 8
3.2 การวเคราะหและออกแบบระบบ 8 3.3 ขนตอนการท างานของโปรแกรม 9 3.3.1 ขนตอนการคนหาหมายเลขไอพแอดเดรสในระบบเนตเวรค 9 3.3.2 การตรวจสอบคา WMI และการเพมขอมลเขาฐานขอมล 10 3.3.3 การตรวจสอบคา WMI และการปรบปรงขอมลในฐานขอมล 11
V
สารบญ (ตอ) หนา
3.4 โครงสรางฐานขอมล 12
3.5 โมเดลแสดงความสมพนธของฐานขอมล (ER Diagram) 15 บทท 4 การทดลองและผลการทดลอง 16 4.1 สภาพแวดลอมของการทดลองโครงงาน 16 4.1.1 การทดลองเรยกดขอมลจาก Win32_BIOS class 17 4.1.2 การทดลองเรยกดขอมลจาก Win32_ComputerSystem class 17 4.1.3 การทดลองเรยกดขอมลจาก Win32_LogicalDisk class 18 4.1.4 การทดลองเรยกดขอมลจาก Win32_PhysicalMemory class 18 4.1.5 การทดลองเรยกดขอมลจาก Win32_Processor class 18 4.1.6 การทดลองเรยกดขอมลจาก Win32_Product class 19 4.1.7 การทดลองเรยกดขอมลจาก Win32_NetworkAdapter class 19 4.1.8 การทดลองเรยกดขอมลจาก Win32_VideoController class 19 4.2 ขอบเขตการท างานของโปรแกรม 19
4.3 ขนตอนการท างานของโปรแกรมและการทดลอง 20 4.3.1 การ Login เขาสระบบ 20
4.3.2 หนาจอหลกของ “ระบบบรหารจดการอปกรณคอมพวเตอร” 20 4.3.3 หนาจอแสดงรายชอคอมพวเตอรทงหมด พรอมทงรายละเอยดของ ฮารดแวรและซอฟตแวร 21
4.3.4 หนาจอแสดงรายงาน 22 4.3.5 หนาจอการบรหารจดการบญชรายชอผดแลระบบ 23 4.3.6 หนาจอการบรหารจดการแผนก 23 4.4 ผลการทดลอง 24
บทท 5 สรปผลการด าเนนงาน 25 5.1 ผลการด าเนนงาน 25 5.2 ปญหาและอปสรรคของการด าเนนการ และ แนวทางการแกปญหา 25 5.3 ขอเสนอแนะและแนวทางการพฒนาตอ 25 เอกสารอางอง 27 ภาคผนวก ก ก
VI
สารบญรป หนา
รปท 2.1 ตวอยางการใชค าสงใน PowerShell 4 รปท 2.2 โครงสรางของ WMI 5 รปท 2.3 การเชอมตอจากเครอง A ไปเครอง B 6 รปท 3.1 องคประกอบของระบบ Computer Inventory Management System 9 รปท 3.2 Flow Chart การคนหาหมายเลขไอพแอดเดรสในระบบเนตเวรค 10 รปท 3.3 Flow Chart การตรวจสอบคา WMI และการเพมขอมลเขาฐานขอมล 11 รปท 3.4 Chart การตรวจสอบคา WMI และการปรบปรงขอมลในฐานขอมล 12 รปท 3.5 ER Diagram 15 รปท 4.1 ผลการเรยกดขอมลจาก Win32_BIOS class 17 รปท 4.2 ผลการเรยกดขอมลจาก Win32_ComputerSystem class 17 รปท 4.3 ผลการเรยกดขอมลจาก Win32_LogicalDisk class 18 รปท 4.4 ผลการเรยกดขอมลจาก Win32_PhysicalMemory class 18 รปท 4.5 ผลผลการเรยกดขอมลจาก Win32_Processor class 18 รปท 4.6 ผลการเรยกดขอมลจาก Win32_Product class 19 รปท 4.7 ผลการเรยกดขอมลจาก Win32_NetworkAdapter class 19 รปท 4.8 ผลการเรยกดขอมลจาก Win32_VideoController class 19 รปท 4.9 หนาจอการ Login เขาใชงานระบบ 20 รปท 4.10 หนาจอหลกของ “ระบบบรหารจดการอปกรณคอมพวเตอร” 21 รปท 4.11 หนาจอแสดงรายชอคอมพวเตอรทงหมด 22 รปท 4.12 หนาจอแสดงรายงาน 22 รปท 4.13 ผลหนาจอการบรหารจดการบญชรายชอผดแลระบบ 23 รปท 4.14 หนาจอการบรหารจดการแผนก 23
VII
สารบญรป (ตอ) หนา
รปท ก.1 เมนการตดตง Microsoft Visual Studio 2010 ข รปท ก.2 Installation Wizard ข รปท ก.3 ยอมรบขอตกลงการใชงาน ค รปท ก.4 เรมการตดตง ค รปท ก.5 ด าเนนการตดตง ง รปท ก.6 การตดตงเสรจสมบรณ ง รปท ก.7 เมนการตดตงโปรแกรม จ รปท ก.8 เตรยมการตดตงโปรแกรม จ รปท ก.9 ยอมรบขอตกลงการใชงาน ฉ รปท ก.10 ตวเลอกการตดตง ฉ รปท ก.11 การตงคา Instance ช รปท ก.12 การตงคา Server ช รปท ก.13 ตงคาการเขาใชงาน ซ รปท ก.14 ตวเลอกการรายงานขอผดพลาด ซ รปท ก.15 ด าเนนการตดตง ฌ รปท ก.16 ตดตงเสรจสมบรณ ฌ รปท ก.17 ยอมรบขอตกลงการใชงาน ญ รปท ก.18 ด าเนนการตดตง ญ รปท ก.19 การตดตงเสรจสมบรณ ฎ
VIII
สารบญตาราง หนา
ตารางท 3.1 แสดงรายละเอยดของแผนก (tbDepartment) 12 ตารางท 3.2 แสดงรายละเอยดของเจาหนาท (tbAccount) 13 ตารางท 3.3 แสดงรายละเอยดของเจาหนาท (tbOS) 13 ตารางท 3.4 แสดงรายละเอยดของโปรแกรมตางๆ ทตดตงอย (tbSoftware) 13 ตารางท 3.5 แสดงรายละเอยดของวดโอ ดไวซ (tbVideo) 13 ตารางท 3.6 แสดงรายละเอยดของฮารดดส (tbLogicalDisk) 14 ตารางท 3.7 แสดงรายละเอยดหลกของเครองคอมพวเตอร (tbComputer) 14 ตารางท 3.8 แสดงรายละเอยดของเนตเวรค ดไวซ (tbNetwork) 14 ตารางท 3.9 แสดงรายละเอยดของหนวยความจ า (tbMemory) 15
1
บทท 1 บทน ำ
1.1 กลำวน ำ
ในภาวะปจจบนน คอมพวเตอรไดเขามามบทบาทกบการท างานเปนอยางมาก ไมวาจะเปนองคขนาดใหญ องคกรขนาดกลาง หรอแมกระทงองคกรขนาดเลก กมความจ าเปนทจะตองพงพงการท างานจากคอมพวเตอรเปนสวนใหญ ไมวาจะเปนงานดานเอกสารตางๆ การใชงานระบบรบสงจดหมายอเลกทรอนกส (E-Mail) หรอการเขาใชงานและคนหาขอมลตางๆ ผานทางเวบไซต และอนๆ อกมากมาย สงตางๆ เหลานลวนตองอาศยเครองคอมพวเตอรเปนสวนประกอบส าคญในการท างานทงสน
ดงนน ในหนวยงานตางๆ จงใหความส าคญกบการดแลรกษาอปกรณคอมพวเตอรตางๆ ใหอยในสภาพทสมบรณและพรอมใชงาน ดวยวธการตางๆ และหนงในวธการทจ าเปนตองท าอยเปนประจ า คอ การตรวจสอบและจดบนทกรายละเอยดตางๆ ของเครองคอมพวเตอร โดยในกระบวนการนจะตองท าทเครองคอมพวเตอรทกเครอง ซงตองใชเวลาพอสมควร และถามจ านวนของเครองคอมพวเตอรในปรมาณมาก กจะยงท าใหสญเสยเวลาไปมากเทานน 1.2 ปญหำและแรงจงใจ เนองจากในปจจบนนไดมการน าระบบคอมพวเตอรเขามาใชงานเปนจ านวนมาก อยางแพรหลาย ไมวาจะเปนองคกรขนาดเลก ขนาดกลาง หรอขนาดใหญ ลวนตางกตองใชคอมพวเตอรในการปฏบตงานดวยกนทงสน เมอมการน าคอมพวเตอรมาใชงานแลว สงทควรจะตองม หรออาจจะเรยกวาจ าเปนเลยกวาได นนกคอผดแลระบบ โดยหนาทหลกๆ ของผดแลระบบ กอาจจะแบงไดเปน 2 หนาทหลกๆ กคอ ฮารดแวร (Hardware) และ ซอฟตแวร (Software) โดยจะขออธบายรายละเอยดในแตละสวน ดงน
1.2.1 ฮารดแวร หมายถง การดแลและบ ารงรกษาอปกรณตางๆ ใหอยในสภาพสมบรณและพรอมใชงานอยเสมอ เชน ฮารดดสกมพนทเพยงพอตอการใชงานหรอไม
1.2.2 ซอฟตแวร หมายถง การดแลและควบคมการตดตงโปรแกรมตางๆ บนเครองคอมพวเตอร และรวมถงการควบคมดแลมใหมการละเมดลขสทธของโปรแกรมตางๆ ดวย จากตวอยางงานทยกตวอยางใหเหนนน อาจจะมองดเปนงานทไมไดยากมากนกส าหรบผดแลระบบหลายๆ คน หรอทกคนเลยกวาได แตความยากของงานนจะเกดขนทนทเมอตองดแลเครองคอมพวเตอรจ านวนทมากขน ท าใหตองเสยเวลาเปนอยางมากในการทจะทราบขอมลตางๆ ของอปกรณคอมพวเตอร ในกรณทตองการทราบขอมลเพอประโยชนอนๆ ตอไป
2
1.3 แนวทำงกำรแกปญหำ จากตวอยางและเหตผลตางๆ ทไดกลาวถงในหวขอกอนหนาน จงไดมการน ามาพฒนา
เปน “ระบบบรหารจดการอปกรณคอมพวเตอร (Computer Inventory Management System)” เพอเปนเครองมอทชวยใหผดแลระบบสามารถปฏบตงานไดอยางมประสทธภาพ และประสทธผล โดยตวโปรแกรมจะท าการตรวจสอบขอมลตางๆ ทตองการผานทางระบบเครอขาย (Network) เกบไวทฐานขอมลสวนกลาง โดยทคาบเวลาในการตรวจสอบขอมลนนจะขนอยกบความเหมาะสมของแตละองคกรเปนหลก 1.4 วตถประสงค 1.4.1 เพอลดระยะเวลาในการปฏบตงานของผดแลระบบ รวมทงสามารถแสดงรายงานไดรวดเรวตามความตองการใชงานขอมล 1.4.2 เพอใหไดมาซงความถกตองของขอมลตางๆ ของอปกรณคอมพวเตอร 1.5 ภำพรวมของระบบ
“ระบบบรหารจดการอปกรณคอมพวเตอร (Computer Inventory Management System)” เปนเครองมอใหผดแลระบบสามารถปฏบตงานไดอยางมประสทธภาพ และประสทธผล โดยตวระบบจะท าการตรวจสอบขอมลตางๆ ผานทางระบบเครอขาย (Network) เกบไวทฐานขอมลสวนกลาง ตามคาบเวลาทเหมาะสมของแตละองคกร และสามารถทจะเรยกดขอมลทบนทกไวในฐานขอมลไดตามตองการ 1.6 ขอบเขตกำรท ำงำนของระบบ
1.6.1 ระบบสามารถตรวจสอบรายละเอยดตางๆ ของอปกรณคอมพวเตอรได ดงน ฮารดดสก (Hard Disk) หนวยประมวลผลกลาง (CPU) เมนบอรด (Mainboard) ไบออส (BIOS) หนวยความจ า (Memory) วดโอ ดไวซ (Video Device) เนตเวรค ดไวซ (Network Device) หมายเลขประจ าเครอง (Serial No.)
1.6.2 ระบบสามารถตรวจสอบรายละเอยดของโปรแกรมตางๆ ทตดตงอยในเครองคอมพวเตอรได ดงน
ระบบปฏบตการ (Operating System)
3
ชอเครองคอมพวเตอร (Computer Name) ชอผใชงาน (User Name) สมาชกของโดเมน หรอ เวรคกรป (Member of Domain/Workgroup) โปรแกรมตางๆ ทตดตงอยในเครองคอมพวเตอร
1.6.3 ระบบสามารถท ารายงานสรปได เพอสะดวกตอการใชงาน และการน าขอมลทไดไปใชประโยชนอนๆ ตอไป 1.7 ประโยชนทคำดวำจะไดรบ
เมอการพฒนาเสรจสนแลว ระบบการบรหารจดการอปกรณคอมพวเตอรจะสามารถชวยลดระยะเวลาในการปฏบตงานของผดแลระบบ รวมทงสามารถแสดงรายงานไดรวดเรวตามความตองการใชงานขอมลตางๆ และสามารถท าใหไดขอมลทถกตองตามความเปนจรงของอปกรณคอมพวเตอรตางๆ ทตองการตรวจสอบ
1.8 โครงสรำงของสำรนพนธ
บทท 1 บทน า กลาวถงปญหาและแรงจงใจ วตถประสงค และขอบเขตในการท าโครงงาน
บทท 2 พนฐานและทฤษฎทเกยวของ กลาวถงทฤษฎทเกยวของในสวนตางๆ ทไดน ามาประยกตใชในโครงงาน
บทท 3 การออกแบบและพฒนาระบบ กลาวถงขนตอนในการออกแบบ และกระบวนท างานของระบบวาท างานอยางไร
บทท 4 การทดลองและผลการทดลอง กลาวถงการทดลอง และผลทไดรบจากการทดลอง
บทท 5 สรปผลการด าเนนงาน กลาวถงผลสรปของโครงงานทงหมด รวมทงแนวทางในการพฒนาโครงงานนตอไปในอนาคต
4
บทท 2 พนฐานและทฤษฎทเกยวของ
2.1 Windows Management Instrument (WMI) [1]
Windows Management Instrumentation (WMI) เปนโครงสรางพนฐานส าหรบการจดการขอมลตางๆ บนเครองคอมพวเตอรทใชระบบปฏบตการวนโดว ผดแลระบบสามารถทจะเขยนเปนสครปต (WMI Script) หรอสรางเปนแอพพลเคชน (Application) เพอชวยการท างานของผดแลระบบในการตรวจสอบขอมลตางๆ บนเครองคอมพวเตอรทอยในระบบเนตเวรคได และ WMI ยงสามารถจดการขอมลสวนตางๆ ในสวนของระบบปฏบตการและองคประกอบของอปกรณคอมพวเตอรไดดวย ตวอยางแอพพลเคชนทท างานในลกษณะนเชน System Center Operations Manager หรอ Windows Remote Management (WinRM)
WMI สามารถรองรบการท างานบนแอพพลเคชนทท างานบนระบบปฏบตการวนโดวไดทงหมด และยงสามารถรองรบภาษาทใชในการพฒนาโปรแกรมไดหลายภาษาอกดวย WMI ไดถกออกแบบมาส าหรบการเขยนโปรแกรมทใช C / C ++ หรอ Microsoft Visual Basic หรอภาษาสครปตทมรองรบการท างานของระบบปฏบตการวนโดว และยงสามารถพฒนาไดโดยใชภาษา C# หรอ Visual Basic .NET ทใช .NET Framework ในการท างานอกดวย
ผดแลระบบหลายคนและผเชยวชาญดาน IT ใช PowerShell ในการดงขอมลของ WMI มาแสดง ทงทเปนแบบเครองโลคอล และเครองระยะไกล ทงนผเขยนเองกไดใชงานในสวนของ PowerShell ชวยในดานการทดลองบางสวนเพอเปนแนวทาง เชน การใชค าสง Get-WmiObject Win32_BIOS เพอแสดงรายละเอยดของ BIOS ดงรปท 2.1
รปท 2.1 ตวอยางการใชค าสงใน PowerShell 2.2 สถาปตยกรรมของ WMI (WMI Architecture) [2]
WMI มองคประกอบหลกอย 3 สวนดวยกน คอ WMI providers and managed objects, WMI Infrastructure และ WMI consumers (management applications) แสดงใหเหนถงความสมพนธระหวาง WMI Infrastructure กบ WMI provider and manage objects และ แสดงใหเหนถงความสมพนธระหวาง WMI Infrastructure กบ WMI consumers ดงรปท 2.2
5
รปท 2.2 โครงสรางของ WMI 2.3 WMI Components [2] จากรปท 2.2
2.3.1 Managed objects and WMI providers WMI provider คอ COM object เปนสวนทใชในการตรวจสอบขอมลส าหรบ
WMI โดยหมายถงองคประกอบทางดานตรรกะหรอทางกายภาพ เชน ฮารดดสกไดรฟ (Hard Disk Drive) เนตเวรค (Network Adapter) ระบบฐานขอมล (Database System) ระบบปฏบตการ (Operating System) โปรเซส (Process) หรอ เซอรวส (Service)
WMI provider เปนเครองมอทชวยจดการกบ Managed object และสอสารระหวาง WMI กบ managed object ซงจะประกอบไปดวยไฟล DLL และ Managed Object Format (MOF) ทใชในการก าหนดลกษณะของ Classes ทใชงานใหกบ WMI provider
ตวอยางของ WMI provider เชน Win32_LogicalDisk ทจะตอบกลบคาตางๆ ทถกเรยกใชโดยค าสงทรองขอมา
โดยทในสวนของตว WMI MOF และตวไฟล DLL ทงสองนจะถกเกบไวทโฟลเดอร %WINDIR%\System32\Wbem พรอมกบเครองมอทจ าเปนตอการใชงาน WMI เชน Winmgmt.exe และ mofcomp.exe
6
2.3.2 WMI infrastructure เปนสวนประกอบของระบบปฏบตการวนโดว โดยมองคประกอบอยสองสวน
ดวยกน คอ WMI service (WMI Core) และ WMI repository โดย WMI service ท าหนาทเปนตวกลางระหวาง WMI provider กบ แอพพลเคชนทใชงาน สวน WMI repository จะเปนตวเกบขอมลทเกยวกบวตถตางๆ เชน Classes ตางๆ โดยจะใหคาขอมลตามทมการรองขอมา
2.3.3 WMI consumers เปนแอพพลเคชน หรอ สครปต ทใชในการตดตอกบ WMI infrastructure โดย
สามารถทจะคนหาขอมลหรอแจกแจงขอมลตางๆ ออกมาไดโดยการเรยกใชงานจาก COM API for WMI หรอ Scripting API for WMI เชนขอมลของดสกไดรฟ 2.4 Connecting to WMI on a Remote Computer [3] WMI สามารถทจะบรหารจดการและเขาถงขอมลของ WMI บนเครองคอมพวเตอรระยะไกลได แตจะมขอจ ากดบางอยาง เชน การปองกนจาก Windows Firewall และการตงคาของ DCOM ในวนโดวตงแต Vista เปนตนมาจะมการใชงาน User Account Control (UAC) ซงกเปนอกขอจ ากดเชนกน โดยขอจ ากดทงหมดนจะตองแกไขเพอใหสามารถใชงานได
โดยปกตแลว Windows Firewall จะถกตงคาไวใหปองกนการรองขอขอมลจากเครองอนๆ อยแลว ดงนนจะตองมการแกไขใหมการอนญาตบางอยางทเกยวของ แตในการทดลองนเพอใหเปนไปโดยสะดวก ผเขยนจงไดใชวธการปด Windows Firewall โดยการเชอมตอจากเครอง A ไปเครอง B จ าเปนตองท าตามขอก าหนดดงตอไปน
จะตองม Username และ Password ทเหมอนกนบนทงเครอง A และ เครอง B และจะตองเปน User ทอยใน Administrator group ดวย
Password ของ Username จะตองไมเปนคาวาง คอ ตองก าหนดไวดวย ลกษณะของการเชอมตอจากเครองคอมพวเตอร A ไปยงเครองคอมพวเตอร B สามารถ
แสดงได ดงรปท 2.3
รปท 2.3 การเชอมตอจากเครอง A ไปเครอง B
7
2.5 WMI Classes [4] WMI ม Classes ไวรองรบการใชงานจ านวนมาก แตในสารนพนธนผเขยนไดเลอกเฉพาะบางสวนทตองการเทานน โดย มรายละเอยดดงน 2.5.1 Win32_BIOS class แสดงขอมลของไบออส โดยขอมลทน ามาแสดง คอ Manufacturer, Name และ SerialNumber 2.5.2 Win32_ComputerSystem class แสดงขอมลของเครองคอมพวเตอร โดยขอมลทน ามาแสดง คอ DNSHostName, SystemType, Model, Manufacturer, TotalPhysicalMemory, Description, UserName และ Domain 2.5.3 Win32_LogicalDisk class แสดงขอมลของลอจคอลฮารดดสก โดยขอมลทน ามาแสดงคอ DeviceID, VolumeName, FileSystem, Size และ FreeSpace 2.5.4 Win32_PhysicalMemory class แสดงขอมลของหนวยความจ าหลก โดยขอมลทน ามาแสดง คอ Tag, DeviceLocator, Capacity, SerialNumber และ Manufacturer 2.5.5 Win32_Processor class แสดงขอมลของหนวยประมวลผล โดยขอมลทน ามาแสดง คอ Name 2.5.6 Win32_Product class แสดงขอมลของซอฟตแวร โดยขอมลทน ามาแสดง คอ Name, Vendor, InstallDate และ Version
2.5.7 Win32_Fan Classes แสดงขอมลของพดลมระบายอากาศ โดยขอมลทน ามาแสดง คอ Status
2.5..8 Win32_VideoController class แสดงขอมลของวดโอดไวซ โดยขอมลทน ามาแสดง คอ Name, AdapterRAM และ AdapterCompatibility
Win32_NetworkAdapter class แสดงขอมลของเนตเวรคดไวซ โดยขอมลทน ามาแสดง คอ Name และ MACAddress
8
บทท 3 การออกแบบและพฒนาระบบ
3.1 แนวทางการออกแบบระบบ
ในการศกษาเพอพฒนา “ระบบบรหารจดการอปกรณคอมพวเตอร” ในครงน ทางผพฒนาไดแบงหวขอในการศกษาออกเปนหวขอหลกๆ ดงน
3.1.1 ศกษาโครงสรางและการท างานของ Windows Management Instrumentation (WMI)
3.1.2 ศกษาระบบฐานขอมล และการท างานของระบบฐานขอมลโดย Microsoft SQL Server 2008 Express
3.1.3 ศกษาวธการใชงานเครองมอทใชในการพฒนาระบบ คอ Microsoft Visual Studio 2010 Professional ในสวนของ C# .NET 3.2 การวเคราะหและออกแบบระบบ
จากรปท 3.1 แสดงใหเหนภาพรวมการท างานของ “ระบบบรหารจดการอปกรณคอมพวเตอร” และสามารถแบงออกไดเปน 4 สวนหลกๆ ดวยกน โดยสวนส าคญของการท างานจะอยท CIMS Application ดงน
3.2.1 ผดแลระบบตดตอกบโปรแกรม หมายถง ผดแลระบบใชงานโปรแกรม CIMS ในการบรหารและจดการอปกรณคอมพวเตอรตางๆ
3.2.2 โปรแกรมตดตออปกรณคอมพวเตอรตางๆ หมายถง ขนตอนการท างานของโปรแกรมหลงจากไดรบค าสงจากผดแลระบบ โดยจะตดตอกบอปกรณคอมพวเตอรตางๆ เพอเรยกดขอมลตามทตองการ
3.2.3 โปรแกรมตดตอกบระบบฐานขอมล หมายถง เมอไดขอมลตามทตองการมาแลว กจะท าการบนทกขอมลทไดลงไปยงฐานขอมลของระบบ
3.2.4 สวนของการแสดงผล และรายงาน หมายถง ผดแลระบบสามารถเรยกดขอมลทบนทกไวในฐานขอมลไดในภายหลงเมอตองการ และสามารถออกเปนรายงานในรปแบบของโปรแกรมเอคเซลได
9
รปท 3.1 องคประกอบของ “ระบบบรหารจดการอปกรณคอมพวเตอร” 3.3 ขนตอนการท างานของโปรแกรม แบงการท างานออกเปน 3 สวน ดงน 3.3.1 ขนตอนการคนหาหมายเลขไอพแอดเดรสในระบบเนตเวรค ดงรปท 3.2
เรมท าการคนหาหมายเลขไอพแอดเดรส ตรวจสอบวามสทธการเขาถง WMI ทเครอง Client หรอไม ถาไมมใหเกบ
หมายเลขไอพแอดเดรสนนไวทตวแปร listWMIDeny ถามใหท าขนตอนตอไป หลงจากตรวจสอบสทธแลว และพบวามสทธการเขาถง WMI ทเครอง Client ก
ใหท าการตรวจสอบเพมเตมวามเครองคอมพวเตอรนนๆ อยในระบบฐานขอมลห รอ ยง ถ า มแ ล ว ใ ห เ ก บ หมาย เ ล ข ไ อพแ อ ด เ ด รสน น เ ข า ต ว แป ร listWMIAllowUpdate แตถายงไมมใหเกบหมายเลขไอพแอดเดรสนนเขาตวแปร listWMIAllowNew และท าขนตอนตอไป
ขนตอนสดทาย ท าการตรวจสอบหมายเลขไอพแอดเดรสวาเปนตวสดทายหรอไม ถายงใหกลบไปเรมขนตอนการคนหาหมายเลขไอพแอดเดรสอกครง แตถาเปนหมายเลขไอพแอดเดรสสดทายแลว ใหจบการท างาน
10
รปท 3.2 Flow Chart การคนหาหมายเลขไอพแอดเดรสในระบบเนตเวรค 3.3.2 การตรวจสอบคา WMI และการเพมขอมลเขาฐานขอมล ดงรปท 3.3
ตรวจสอบหมายเลขไอพแอดเดรสจากตวแปร listWMIAllowNew ตดตอไปยงเครองปลายทาง และท าการรองขอขอมล บนทกเขาฐานขอมล ตรวจสอบวาเปนหมายเลขไอพแอดเดรสสดทายหรอยง ถายงใหเรมขนตอน
การตรวจสอบหมายเลขไอพแอดเดรสจากตวแปร listWMIAllowNew อกครง แตถาเปนหมายเลขไอพแอดเดรสสดทายแลว ใหจบการท างาน
11
รปท 3.3 Flow Chart การตรวจสอบคา WMI และการเพมขอมลเขาฐานขอมล 3.3.3 การตรวจสอบคา WMI และการปรบปรงขอมลในฐานขอมล ดงรปท 3.4
ตรวจสอบหมายเลขไอพแอดเดรสจากตวแปร listWMIAllowUpdate ตดตอไปยงเครองปลายทาง และท าการรองขอขอมล ปรบปรงฐานขอมล ตรวจสอบวาเปนหมายเลขไอพแอดเดรสสดทายหรอยง ถายงใหเรมขนตอน
การตรวจสอบหมายเลขไอพแอดเดรสจากตวแปร listWMIAllowUpdate อกครง แตถาเปนหมายเลขไอพแอดเดรสสดทายแลว ใหจบการท างาน
12
รปท 3.4 Flow Chart การตรวจสอบคา WMI และการปรบปรงขอมลในฐานขอมล 3.4 โครงสรางฐานขอมล ในการพฒนาระบบบรหารจดการอปกรณคอมพวเตอรน ไดมการจดการเกยวกบระบบฐานขอมลตางๆ ทเกยวของ เพอใชเปนสวนงานของการบนทกขอมลทคนหามาได โดยมรายละเอยดดงตารางดงตอไปน ตารางท 3.1 แสดงรายละเอยดของแผนก (tbDepartment)
ชอฟลด ชนดขอมล คย รายละเอยด DepartmentID Int PK รหสแผนก DepartmentName Nvarchar(50) ชอแผนก Description Nvarchar(100) รายละเอยดแผนก
13
ตารางท 3.2 แสดงรายละเอยดของเจาหนาท (tbAccount) ชอฟลด ชนดขอมล คย รายละเอยด
UserID Int PK รหสเจาหนาท FirstName Nvarchar(50) ชอเจาหนาท LastName Nvarchar(50) นามสกลเจาหนาท UserName Nvarchar(25) ชอเขาใชงานระบบ UserPassword Nvarchar(50) รหสเขาใชงานระบบ Description Nvarchar(100) รายละเอยดเจาหนาท ตารางท 3.3 แสดงรายละเอยดของเจาหนาท (tbOS)
ชอฟลด ชนดขอมล คย รายละเอยด OSID Int PK รหสระบบปฏบตการ OSName Nvarchar(100) ชอระบบปฏบตการ ServicePack Nvarchar(50) ชดโปรแกรมปรบปรง ตารางท 3.4 แสดงรายละเอยดของโปรแกรมตางๆ ทตดตงอย (tbSoftware)
ชอฟลด ชนดขอมล คย รายละเอยด SoftwareID Int PK รหสของซอฟตแวร SoftwareName Nvarchar(100) ชอซอฟตแวร SoftwarePublisher Nvarchar(50) ผผลต SoftwareInstalledON Date วนทตดตง SoftwareVersion Nvarchar(15) เวอรชน ComputerID Int FK รหสคอมพวเตอร ตารางท 3.5 แสดงรายละเอยดของวดโอ ดไวซ (tbVideo)
ชอฟลด ชนดขอมล คย รายละเอยด VideoID Int PK รหสวดโอ ดไวซ VideoName Nvarchar (50) ชอวดโอ ดไวซ VideoMemory Nvarchar (15) ขนาดเมมโมร VideoCompatibility Nvarchar (50) ความเขากนได ComputerID Int FK รหสคอมพวเตอร
14
ตารางท 3.6 แสดงรายละเอยดของฮารดดส (tbLogicalDisk) ชอฟลด ชนดขอมล คย รายละเอยด
LogicalDiskID Int PK รหสฮารดดสก DeviceID Nvarchar (3) ไดรฟ VolumeName Nvarchar (35) ชอพารทชน FileSystem Nvarchar (10) ระบบไฟล Size Double ความจฮารดดสก FreeSpace Double พนทวางของฮารดดสก ComputerID Int FK รหสคอมพวเตอร ตารางท 3.7 แสดงรายละเอยดหลกของเครองคอมพวเตอร (tbComputer)
ชอฟลด ชนดขอมล คย รายละเอยด ComputerID Int PK รหสคอมพวเตอร ComputerName Nvarchar (25) ชอคอมพวเตอร ComputerModel Nvarchar (50) รน ComputerSerialNumber Nvarchar (100) ซเรยลนมเบอร ComputerManufacturer Nvarchar (50) ผผลต Processor Nvarchar (50) หนวยประมวลผล TotalMemory Nvarchar (15) เมมโมรท งหมด SetupDate Date วนทบนทกขอมล Username Nvarchar (50) ชอผใชงาน Domain Nvarchar (50) โดเมน DepartmentID Int FK รหสแผนก OSID Int FK รหสระบบปฏบตการ ตารางท 3.8 แสดงรายละเอยดของเนตเวรค ดไวซ (tbNetwork)
ชอฟลด ชนดขอมล คย รายละเอยด NetworkID Int PK รหสการดเนตเวรค NetworkName Nvarchar(50) ชอการดเนตเวรค NetworkMacAddress Nvarchar(20) Network Mac Address ComputerID Int FK รหสคอมพวเตอร
15
ตารางท 3.9 แสดงรายละเอยดของหนวยความจ า (tbMemory) ชอฟลด ชนดขอมล คย รายละเอยด
MemoryID Int PK รหสเมมโมร MemoryTag Nvarchar (50) ปายชอเมมโมร MemoryDeviceLocator Nvarchar (50) ต าแหนงเมมโมร MemoryCapacity Nvarchar (50) ขนาดเมมโมร MemorySerialNumber Nvarchar (50) เมมโมรซเรยลนมเบอร MemoryManufacturer Nvarchar (50) ผผลตเมมโมร ComputerID Int FK รหสคอมพวเตอร 3.5 โมเดลแสดงความสมพนธของฐานขอมล (ER Diagram) ในสารนพนธนใช ER Diagram Model ในการแสดงความสมพนธของฐานขอมล ซงประกอบไปดวย Entity ตางๆ คอ Computer HDD Memory Video Network Software Account Department ดงแสดงตามรปท 3.5
รปท 3.5 ER Diagram
16
บทท 4 การทดลองและผลการทดลอง
4.1 สภาพแวดลอมของการทดลองโครงงาน การทดลองการท างานของโปรแกรม “ระบบบรหารจดการอปกรณคอมพวเตอร” ผพฒนาโปรแกรมไดท าการจ าลองสภาพแวดลอมตางๆ บนเครองมอทชอวา VMWare WorkStation 11.0 เพอใหมความสะดวกตอการทดลอง และไมมผลกระทบใดใดกบระบบทมการใชงานอยจรง โดยระบบปฏบตการทน ามาทดสอบ มดงน
Windows Server 2008 Windows Server 2012 Windows 7 Windows 8
โดยเครองคอมพวเตอรทท าการทดสอบจะตองมเงอนไขดงตอไปน
เครองคอมพวเตอรทกเครองจะตองท าการปดการใชงานวนโดวไฟลวอลล (Firewall) เพอให WMI สามารถเรยกดขอมลได
เครองคอมพวเตอรทกเครองจะตองตง Username และ Password ใหตรงกน โดยจะตองเปน User ทอยในกลมของ Administrator เทานน โดยในการทดลองน ผทดลองไดใช Username ทชอวา Administrator ในการทดลอง
หมายเหต : การทดลองครงนไมไดน า Windows XP และ Windows Server 2003 มาท าการทดสอบดวย เนองจาก WMI ทใชท าการทดลองนนคาบางคาไมรองรบบน Windows ดงกลาวได
ระบบบรหารจดการอปกรณคอมพวเตอร ไดถกพฒนาดวยเครองมอทชอวา Microsoft Visual Studio 2010 (C#) และใชโปรแกรม Microsoft SQL Server 2008 Express เปนระบบฐานขอมลทใชจดเกบขอมลตางๆ ทคนหามาไดดวยโปรแกรมทพฒนาขนมา ส าหรบการเรยกดขอมลของเครองทอยบนระบบเนตเวรคนนใชการท างานของ WMI Class ตางๆ ดงน
17
4.1.1 การทดลองเรยกดขอมลจาก Win32_BIOS class โดยคาทตองการคอ SerialNumber ดงรปท 4.1
รปท 4.1 ผลการเรยกดขอมลจาก Win32_BIOS class
4.1.2 การทดลองเรยกดขอมลจาก Win32_ComputerSystem class โดยคาทตองการคอ DNSHostName, System Type, Model, Manufacturer, TotalPhysicalMemory, UserName และ Domain ดงรปท 4.2
รปท 4.2 ผลการเรยกดขอมลจาก Win32_ComputerSystem class
18
4.1.3 การทดลองเรยกดขอมลจาก Win32_LogicalDisk class โดยคาทตองการคอ DeviceID, VolumeName, FileSystem, Size และ FreeSpace ดงรปท 4.3
รปท 4.3 ผลการเรยกดขอมลจาก Win32_LogicalDisk class 4.1.4 การทดลองเรยกดขอมลจาก Win32_PhysicalMemory class โดยคาทตองการ
คอ Tag, Device Locator, Capacity, Serial Number และ Manufacturer ดงรปท 4.4
รปท 4.4 ผลการเรยกดขอมลจาก Win32_PhysicalMemory class
4.1.5 การทดลองเรยกดขอมลจาก Win32_Processor class โดยคาทตองการคอ Name และ AddressWidth ดงรปท 4.5
รปท 4.5 ผลการเรยกดขอมลจาก Win32_Processor class
19
4.1.6 การทดลองเรยกดขอมลจาก Win32_Product class โดยคาทตองการคอ Name, Publisher, Installed On และ Version ดงรปท 4.6
รปท 4.6 ผลการเรยกดขอมลจาก Win32_Product class
4.1.7 การทดลองเรยกดขอมลจาก Win32_NetworkAdapter class โดยคาทตองการคอ Name และ Mac Address ดงรปท 4.7
รปท 4.7 ผลการเรยกดขอมลจาก Win32_NetworkAdapter class 4.1.8 การทดลองเรยกดขอมลจาก Win32_VideoController class โดยคาทตองการคอ
Name, Memory และ Compatibility ดงรปท 4.8
รปท 4.8 ผลการเรยกดขอมลจาก Win32_VideoController class 4.2 ขอบเขตการท างานของโปรแกรม ระบบบรหารจดการอปกรณคอมพวเตอร ทผพฒนาไดพฒนาขนมาน มหนาทการท างานอย 4 สวนหลกๆ คอ 4.2.1 การบรหารจดการในสวนของ แผนกทเครองคอมพวเตอรสงกด และ บญชรายชอของผดแลระบบ 4.2.2 การคนหาเครองคอมพวเตอรทอยภายใตระบบเนตเวรคเดยวกน
20
4.2.3 การเรยกดขอมลทางดานฮารดแวรและซอฟตแวรของเครองปลายทางทอยภายใตระบบเนตเวรคเดยวกน และท าการเกบบนทกลงฐานขอมลของระบบ 4.2.4 การแสดงรายงานของอปกรณคอมพวเตอรทไดท าการบนทกขอมลไว 4.3 ขนตอนการท างานของโปรแกรมและการทดลอง การท างานของโปรแกรมสามารถจ าแนกแบงเปนสวนตางๆ ดงน 4.3.1 การ Login เขาสระบบ การเรมใชงานโปรแกรมทกครง จะตองมการระบ Username และ Password หลงจากนนใหกด ENTER หรอปม OK ถา Username และ Password ถกตอง กจะสามารถเขาใชงานได โดยหนาจอในการเขาใชงานแสดง ดงรปท 4.9
รปท 4.9 หนาจอการ Login เขาใชงานระบบ
4.3.2 หนาจอหลกของ “ระบบบรหารจดการอปกรณคอมพวเตอร” จากรปท 4.10 สามารถจ าแนกการท างานของหนาจอหลก ไดดงน
การคนหาเครองคอมพวเตอรทอยภายใตระบบเนตเวรคเดยวกน โดยการคลกเลอกเนตเวรคทตองการ แลวระบบจะท าการค านวณคาทจ าเปนออกมาใหเอง
โดยอตโนมต หลงจากนนใหคลกทปม ระบบจะท าการคนหาเครองทกเครองทใชงานภายใตเนตเวรคเดยวกน โดยแยกประเภท ดงน o เครองคอมทตดตอไดแตไมมสทธในการเรยกขอมลโดย WMI ได o เครองคอมทตดตอไดและเปนเครองทยงไมเคยมอยในฐานขอมล o เครองคอมทตดตอไดและเปนเครองทมอยในฐานขอมลแลว
กรณพบเครองคอมพวเตอรทไมมอยในฐานขอมล และตองการทจะเพมเขาไป
ในฐานขอมลกใหคลกทปม ระบบจะท าการเพมขอมลเขาไปยง
21
ฐานขอมล โดยจะแสดงสถานะการท างานทสวนของ Scanning Result ทางดานขวาของหนาจอหลก
กรณพบเครองทมอยแลวในระบบ และตองการทจะท าการปรบปรงขอมล ให
คลกทปม ระบบจะท าการตรวจสอบขอมลและปรบปรงขอมลไปยงฐานขอมล โดยจะแสดงสถานการณท างานทสวนของ Scanning Result ทางดานขวาของหนาจอหลก
กรณถาตองการลบสถานะทแสดงในสวนของ Scanning Result ใหคลกทปม
รปท 4.10 หนาจอหลกของ “ระบบบรหารจดการอปกรณคอมพวเตอร”
4.3.3 หนาจอแสดงรายชอคอมพวเตอรทงหมด พรอมทงรายละเอยดของฮารดแวรและซอฟตแวร โดยสามารถเลอกแสดงของทกแผนก หรอจะเลอกเฉพาะแผนกกได ดงรปท 4.11
22
รปท 4.11 หนาจอแสดงรายชอคอมพวเตอรทงหมด 4.3.4 หนาจอแสดงรายงาน ในหนาจอแสดงรายงานน จะแสดงใหเหนถงรายละเอยดทส าคญของ
คอมพวเตอรทกเครอง ดงรปท 4.12
รปท 4.12 หนาจอแสดงรายงาน
23
4.3.5 หนาจอการบรหารจดการบญชรายชอผดแลระบบ โดยในสวนนสามารถทจะเพม ลบ แกไข บญชอรายชอของผดแลระบบได ดง
รปท 4.13
รปท 4.13 หนาจอการบรหารจดการบญชรายชอผดแลระบบ 4.3.6 หนาจอการบรหารจดการแผนก ในสวนนสามารถทจะท าการ เพม ลบ แกไข แผนกได ดงรปท 4.14
รปท 4.14 หนาจอการบรหารจดการแผนก
24
4.4 ผลการทดลอง จากการทดลองของ “ระบบบรหารจดการอปกรณคอมพวเตอร” เปนไปตามจดประสงคของการใชงาน และสามารถชวยลดรยะเวลาของการตรวจสอบขอมลของอปกรณคอมพวเตอรตางๆ ลงได รวมทงยงสามารถเรยกดขอมลไดถกตองสมบรณ แตในการทดลองครงนกยงพบกบปญหาอกหลายอยาง เชน
โปรแกรมไมสามารถเรยกดขอมลของ Username และ Domain ได ถาหากวาเครองปลายทางยงไมไดท าการ Login เขาสระบบ
โปรแกรมไมสามารถเรยกดขอมลของซอฟตแวรทตดตง ทไมใชของไมโครซอฟตเอง ไดถกตองทงหมด
25
บทท 5 สรปผลการด าเนนงาน
5.1 ผลการด าเนนงาน
ในการทดลองครงนโปรแกรมททางผทดลองพฒนาขน สามารถทจะท าการดงขอมลของฮารดแวร และซอฟตแวร ไดครบถวนตามทตองการ โดยการทดลองไดแบงออกเปน 2 สวน ดวยกน คอ ในสวนแรก (Independent Study 1) ไดท าการทดลองเรยกดขอมลทตองการ บนเครองทร นโปรแกรมโดยตรงกอน เพอทดสอบการท างานเบองตน และในสวนทสอง (Independent Study 2) ไดท าการทดลองเพมเตมโดยเพมสวนของการตดตอเครองระยะไกลเขาไป แลวท าการเรยกดขอมลทตองการ ผลปรากฏวาสามารถเรยกดขอมลไดครบถวนตามทตองการ
5.2 ปญหาและอปสรรคของการด าเนนการ และ แนวทางการแกปญหา
จากการทดลองของ “ระบบบรหารจดการอปกรณคอมพวเตอร” ทางผทดลองไดพบปญหาและอปสรรคตางๆ และไดยกแนวทางการแกปญหามาให ดงน
5.2.1 โปรแกรมเรยกดขอมลตางๆ ไดชาพอสมควร เนองจากบางขอมลมปรมาณมากจงอาจท าใหโปรแกรมท างานชาลงได และในการเขยนโปรแกรมนน ผทดลองไมไดเขยนใหอยในลกษณะของ Class เพราะวาผทดลองยงไมเขาใจการท างานของ Class มากพอทจะพฒนาโปรแกรมได แนวทางแกไข ท าการศกษาเพมเตมในสวนของการเขยนโปรแกรมในลกษณะของ Class และปรบเปลยนตวโปรแกรมใหท างานในลกษณะของ Class กจะชวยท าใหโปรแกรมท างานไดเรวขน และอกแนวทางหนงคอ พฒนาโปรแกรมโดยการสรางตว Agent ไปตดตงทเครองคอมพวเตอรทกเครองแทนการเรยกจากสวนกลาง แลวสงคากลบมาบนทกทสวนกลาง วธนนาจะชวยลดภาระการท างานของเครองทรนโปรแกรมลงได
5.2.2 ในสวนของการเรยกดขอมลของซอฟตแวรทตดตงนน สามารถดงไดเฉพาะซอฟตแวรของ Microsoft เองเทานน สวนของคายอนๆ นนยงไมสามารถเรยกดขอมลไดครบถวน แนวทางแกไข ท าการศกษาเพมเตมในสวนทเกยวของกบการเรยกดขอมลโปรแกรมทตดตงทไมใชของไมโครซอฟต
5.3 ขอเสนอแนะและแนวทางการพฒนาตอ ในการทดลองครงนพบวาการท างานของโปรแกรมในการสงค ารองขอไปดงคาขอมล จากเครองปลายทางนน มการท างานทชาและบางครงกไมสามารถไดขอมลครบถวนในคราวเดยวได และมขอจ ากดมากมายในการท างาน เชน ตองปด Firewall และ ตองใชสทธของ User ทเปน Administrator ในการท างาน ดงนน เพอการพฒนาทดตอไป ทางผทดลองคดวาควรจะพฒนาในลกษณะทตองมการสราง Agent แลวตดตงไปทเครองทกเครองในระบบแทน และให
26
ตว Agent ท าหนาทเกบรวบรวมขอมลไวกอน แลวคอยสงกลบมายง Server ตามคาบเวลาทตองการในภายหลง วธนจะท าใหไดขอมลไดครบถวน และลดภาระการท างานของ Server ลงไดอกดวย อกหนงเรองทคดวานาจะมประโยชนจากแนวคดการพฒนาระบบในครงน คอ อาจจะน าแนวคดนไปใชส าหรบการท าเปน Server Monitoring เพอคอยตรวจสอบสถานะของเครองทท างานเปน Server ซงโดยปกตแลวจะท างานตลอดเวลา เพอใหทางผดแลระบบไดทราบถงสถานะปจจบนของเครอง Server ตางๆ ทดแลได และสามารถทจะแกไขไดทนการณกอนทจะเกดขอผดผลาดกบเครอง Server ได
27
เอกสารอางอง
[1] Windows Management Instrumentation, [Online]. Available: https://msdn.microsoft.com/en-us/library/aa394582(v=vs.85).aspx [2] WMI Architecture, [Online]. Available: https://msdn.microsoft.com/en-us/library/aa394553(v=vs.85).aspx [3] Connecting to WMI on a Remote Computer, [Online]. Available: https://msdn.microsoft.com/en-us/library/aa389290(v=vs.85).aspx [4] WMI Classes, [Online]. Available: https://msdn.microsoft.com/en-us/library/aa394554(v=vs.85).aspx
ก
ภาคผนวก วธการตดตงโปรแกรมพนฐาน
ข
1. การตดตง Microsoft Visual Studio 2010 Professional 1.1 ท ำกำรรนไฟลตดตง และเลอก Install Microsoft Visual Studio 2010
รปท ก.1 เมนกำรตดตง Microsoft Visual Studio 2010
1.2 คลก Next
รปท ก.2 Installation Wizard
ค
1.3 เลอก I have read and accept the license terms. แลวคลก Next
รปท ก.3 ยอมรบขอตกลงกำรใชงำน
1.4 เลอก Full แลวคลก Install
รปท ก.4 เรมกำรตดตง
ง
1.5 หนำจอระหวำงท ำกำรตดตง
รปท ก.5 ด ำเนนกำรตดตง
1.6 คลก Finish กำรตดตงเสรจสมบรณ
รปท ก.6 กำรตดตงเสรจสมบรณ
จ
2. การตดตง Microsoft SQL Server 2008 R2 Express 2.1 ท ำกำรรนไฟลตดตง และคลก New Installation or add features to an existing
installation.
รปท ก.7 เมนกำรตดตงโปรแกรม
2.2 หนำจอระหวำงเตรยมกำรตดตง
รปท ก.8 เตรยมกำรตดตงโปรแกรม
ฉ
2.3 เลอก I accept the license terms.
รปท ก.9 ยอมรบขอตกลงกำรใชงำน
2.4 เลอกกำรตดตงทตองกำรแลวคลก Next
รปท ก.10 ตวเลอกกำรตดตง
ช
2.5 สรำง Instance แลวคลก Next
รปท ก.11 กำรตงคำ Instance
2.6 ตงคำ Server แลวคลก Next
รปท ก.12 กำรตงคำ Server
ซ
2.7 เลอกรปแบบกำรเขำใชงำนแลวคลก Next
รปท ก.13 ตงคำกำรเขำใชงำน
2.8 ตวเลอกกำรรำยงำนขอผดพลำด (เลอกหรอไมเลอกกได)
รปท ก.14 ตวเลอกกำรรำยงำนขอผดพลำด
ฌ
2.9 ด ำเนนกำรตดตง
รปท ก.15 ด ำเนนกำรตดตง
2.10 ตดตงเสรจสมบรณ คลก Close
รปท ก.16 ตดตงเสรจสมบรณ
ญ
3. การตดตง Microsoft .Net Framework 4.0 3.1 เลอก I have read and accept the license terms. แลวคลก Install
รปท ก.17 ยอมรบขอตกลงกำรใชงำน
3.2 ระหวำงด ำเนนกำรตดตง
รปท ก.18 ด ำเนนกำรตดตง
ฎ
3.3 กำรตดตงเสรจสมบรณ คลก Finish
รปท ก.19 กำรตดตงเสรจสมบรณ 4. Syntax ในการใชงาน Win32 Class
4.1 Syntax ของ Win32_BIOS class
[Dynamic, Provider("CIMWin32"), UUID("{8502C4E1-5FBB-11D2-AAC1-006008C78BC7}"), AMENDMENT] class Win32_BIOS : CIM_BIOSElement { uint16 BiosCharacteristics[]; string BIOSVersion[]; string BuildNumber; string Caption; string CodeSet; string CurrentLanguage; string Description; uint8 EmbeddedControllerMajorVersion; uint8 EmbeddedControllerMinorVersion; string IdentificationCode;
ฏ
uint16 InstallableLanguages; datetime InstallDate; string LanguageEdition; String ListOfLanguages[]; string Manufacturer; string Name; string OtherTargetOS; boolean PrimaryBIOS; datetime ReleaseDate; string SerialNumber; string SMBIOSBIOSVersion; uint16 SMBIOSMajorVersion; uint16 SMBIOSMinorVersion; boolean SMBIOSPresent; string SoftwareElementID; uint16 SoftwareElementState; string Status; uint8 SystemBiosMajorVersion; uint8 SystemBiosMinorVersion; uint16 TargetOperatingSystem; string Version; };
4.2 Syntax ของ Win32_ComputerSystem class [Dynamic, Provider("CIMWin32"), SupportsUpdate, UUID("{8502C4B0-5FBB-11D2-AAC1-006008C78BC7}"), AMENDMENT] class Win32_ComputerSystem : CIM_UnitaryComputerSystem { uint16 AdminPasswordStatus; boolean AutomaticManagedPagefile; boolean AutomaticResetBootOption; boolean AutomaticResetCapability; uint16 BootOptionOnLimit;
ฐ
uint16 BootOptionOnWatchDog; boolean BootROMSupported; string BootupState; uint16 BootStatus[]; string Caption; uint16 ChassisBootupState; string ChassisSKUNumber; string CreationClassName; sint16 CurrentTimeZone; boolean DaylightInEffect; string Description; string DNSHostName; string Domain; uint16 DomainRole; boolean EnableDaylightSavingsTime; uint16 FrontPanelResetStatus; boolean HypervisorPresent; boolean InfraredSupported; string InitialLoadInfo; datetime InstallDate; uint16 KeyboardPasswordStatus; string LastLoadInfo; string Manufacturer; string Model; string Name; string NameFormat; boolean NetworkServerModeEnabled; uint32 NumberOfLogicalProcessors; uint32 NumberOfProcessors; uint8 OEMLogoBitmap[]; string OEMStringArray[]; boolean PartOfDomain; sint64 PauseAfterReset; uint16 PCSystemType;
ฑ
uint16 PCSystemTypeEx; uint16 PowerManagementCapabilities[]; boolean PowerManagementSupported; uint16 PowerOnPasswordStatus; uint16 PowerState; uint16 PowerSupplyState; string PrimaryOwnerContact; string PrimaryOwnerName; uint16 ResetCapability; sint16 ResetCount; sint16 ResetLimit; string Roles[]; string Status; string SupportContactDescription[]; string SystemFamily; string SystemSKUNumber; uint16 SystemStartupDelay; string SystemStartupOptions[]; uint8 SystemStartupSetting; string SystemType; uint16 ThermalState; uint64 TotalPhysicalMemory; string UserName; uint16 WakeUpType; string Workgroup; };
4.3 Syntax ของ Win32_LogicalDisk class [Dynamic, Provider("CIMWin32"), SupportsUpdate, UUID("{8502C4B7-5FBB-11D2-AAC1-006008C78BC7}"), AMENDMENT] class Win32_LogicalDisk : CIM_LogicalDisk { uint16 Access;
ฒ
uint16 Availability; uint64 BlockSize; string Caption; boolean Compressed; uint32 ConfigManagerErrorCode; boolean ConfigManagerUserConfig; string CreationClassName; string Description; string DeviceID; uint32 DriveType; boolean ErrorCleared; string ErrorDescription; string ErrorMethodology; string FileSystem; uint64 FreeSpace; datetime InstallDate; uint32 LastErrorCode; uint32 MaximumComponentLength; uint32 MediaType; string Name; uint64 NumberOfBlocks; string PNPDeviceID; uint16 PowerManagementCapabilities[]; boolean PowerManagementSupported; string ProviderName; string Purpose; boolean QuotasDisabled; boolean QuotasIncomplete; boolean QuotasRebuilding; uint64 Size; string Status; uint16 StatusInfo; boolean SupportsDiskQuotas; boolean SupportsFileBasedCompression;
ณ
string SystemCreationClassName; string SystemName; boolean VolumeDirty; string VolumeName; string VolumeSerialNumber; };
4.4 Syntax ของ Win32_PhysicalMemory class [Dynamic, Provider("CIMWin32"), UUID("{FAF76B93-798C-11D2-AAD1-006008C78BC7}"), AMENDMENT] class Win32_PhysicalMemory : CIM_PhysicalMemory { uint32 Attributes; string BankLabel; uint64 Capacity; string Caption; uint32 ConfiguredClockSpeed; uint32 ConfiguredVoltage; string CreationClassName; uint16 DataWidth; string Description; string DeviceLocator; uint16 FormFactor; boolean HotSwappable; datetime InstallDate; uint16 InterleaveDataDepth; uint32 InterleavePosition; string Manufacturer; uint32 MaxVoltage; uint16 MemoryType; uint32 MinVoltage; string Model; string Name; string OtherIdentifyingInfo;
ด
string PartNumber; uint32 PositionInRow; boolean PoweredOn; boolean Removable; boolean Replaceable; string SerialNumber; string SKU; uint32 SMBIOSMemoryType; uint32 Speed; string Status; string Tag; uint16 TotalWidth; uint16 TypeDetail; string Version; };
4.5 Syntax ของ Win32_Processor class [Dynamic, Provider("CIMWin32"), UUID("{8502C4BB-5FBB-11D2-AAC1-006008C78BC7}"), AMENDMENT] class Win32_Processor : CIM_Processor { uint16 AddressWidth; uint16 Architecture; string AssetTag; uint16 Availability; string Caption; uint32 Characteristics; uint32 ConfigManagerErrorCode; boolean ConfigManagerUserConfig; uint16 CpuStatus; string CreationClassName; uint32 CurrentClockSpeed; uint16 CurrentVoltage;
ต
uint16 DataWidth; string Description; string DeviceID; boolean ErrorCleared; string ErrorDescription; uint32 ExtClock; uint16 Family; datetime InstallDate; uint32 L2CacheSize; uint32 L2CacheSpeed; uint32 L3CacheSize; uint32 L3CacheSpeed; uint32 LastErrorCode; uint16 Level; uint16 LoadPercentage; string Manufacturer; uint32 MaxClockSpeed; string Name; uint32 NumberOfCores; uint32 NumberOfEnabledCore; uint32 NumberOfLogicalProcessors; string OtherFamilyDescription; string PartNumber; string PNPDeviceID; uint16 PowerManagementCapabilities[]; boolean PowerManagementSupported; string ProcessorId; uint16 ProcessorType; uint16 Revision; string Role; boolean SecondLevelAddressTranslationExtensions; string SerialNumber; string SocketDesignation; string Status;
ถ
uint16 StatusInfo; string Stepping; string SystemCreationClassName; string SystemName; uint32 ThreadCount; string UniqueId; uint16 UpgradeMethod; string Version; boolean VirtualizationFirmwareEnabled; boolean VMMonitorModeExtensions; uint32 VoltageCaps; };
4.6 Syntax ของ Win32_Product class [Provider("MSIProv"), Dynamic] class Win32_Product : CIM_Product { uint16 AssignmentType; string Caption; string Description; string IdentifyingNumber; string InstallDate; datetime InstallDate2; string InstallLocation; sint16 InstallState; string HelpLink; string HelpTelephone; string InstallSource; string Language; string LocalPackage; string Name; string PackageCache; string PackageCode;
ท
string PackageName; string ProductID; string RegOwner; string RegCompany; string SKUNumber; string Transforms; string URLInfoAbout; string URLUpdateInfo; string Vendor; uint32 WordCount; string Version; };
4.7 Syntax ของ Win32_OperatingSystem class [Singleton, Dynamic, Provider("CIMWin32"), SupportsUpdate, UUID("{8502C4DE-5FBB-11D2-AAC1-006008C78BC7}"), AMENDMENT] class Win32_OperatingSystem : CIM_OperatingSystem { string BootDevice; string BuildNumber; string BuildType; string Caption; string CodeSet; string CountryCode; string CreationClassName; string CSCreationClassName; string CSDVersion; string CSName; sint16 CurrentTimeZone; boolean DataExecutionPrevention_Available; boolean DataExecutionPrevention_32BitApplications; boolean DataExecutionPrevention_Drivers; uint8 DataExecutionPrevention_SupportPolicy;
ธ
boolean Debug; string Description; boolean Distributed; uint32 EncryptionLevel; uint8 ForegroundApplicationBoost = 2; uint64 FreePhysicalMemory; uint64 FreeSpaceInPagingFiles; uint64 FreeVirtualMemory; datetime InstallDate; uint32 LargeSystemCache; datetime LastBootUpTime; datetime LocalDateTime; string Locale; string Manufacturer; uint32 MaxNumberOfProcesses; uint64 MaxProcessMemorySize; string MUILanguages[]; string Name; uint32 NumberOfLicensedUsers; uint32 NumberOfProcesses; uint32 NumberOfUsers; uint32 OperatingSystemSKU; string Organization; string OSArchitecture; uint32 OSLanguage; uint32 OSProductSuite; uint16 OSType; string OtherTypeDescription; Boolean PAEEnabled; string PlusProductID; string PlusVersionNumber; boolean PortableOperatingSystem; boolean Primary; uint32 ProductType;
น
string RegisteredUser; string SerialNumber; uint16 ServicePackMajorVersion; uint16 ServicePackMinorVersion; uint64 SizeStoredInPagingFiles; string Status; uint32 SuiteMask; string SystemDevice; string SystemDirectory; string SystemDrive; uint64 TotalSwapSpaceSize; uint64 TotalVirtualMemorySize; uint64 TotalVisibleMemorySize; string Version; string WindowsDirectory; uint8 QuantumLength; uint8 QuantumType; };
4.8 Syntax ของ Win32_Fan class [Dynamic, Provider("CIMWin32"), UUID("{464FFAB5-946F-11d2-AAE2-006008C78BC7}"), AMENDMENT] class Win32_Fan : CIM_Fan { boolean ActiveCooling; uint16 Availability; string Caption; uint32 ConfigManagerErrorCode; boolean ConfigManagerUserConfig; string CreationClassName; string Description; uint64 DesiredSpeed; string DeviceID;
บ
boolean ErrorCleared; string ErrorDescription; datetime InstallDate; uint32 LastErrorCode; string Name; string PNPDeviceID; uint16 PowerManagementCapabilities[]; boolean PowerManagementSupported; string Status; uint16 StatusInfo; string SystemCreationClassName; string SystemName; boolean VariableSpeed; };
4.9 Syntax ของ Win32_VideoController class [Dynamic, Provider("CIMWin32"), UUID("{1008CCF1-7BFF-11D2-AAD2-006008C78BC7}"), AMENDMENT] class Win32_VideoController : CIM_PCVideoController { uint16 AcceleratorCapabilities[]; string AdapterCompatibility; string AdapterDACType; uint32 AdapterRAM; uint16 Availability; string CapabilityDescriptions[]; string Caption; uint32 ColorTableEntries; uint32 ConfigManagerErrorCode; boolean ConfigManagerUserConfig; string CreationClassName; uint32 CurrentBitsPerPixel; uint32 CurrentHorizontalResolution;
ป
uint64 CurrentNumberOfColors; uint32 CurrentNumberOfColumns; uint32 CurrentNumberOfRows; uint32 CurrentRefreshRate; uint16 CurrentScanMode; uint32 CurrentVerticalResolution; string Description; string DeviceID; uint32 DeviceSpecificPens; uint32 DitherType; datetime DriverDate; string DriverVersion; boolean ErrorCleared; string ErrorDescription; uint32 ICMIntent; uint32 ICMMethod; string InfFilename; string InfSection; datetime InstallDate; string InstalledDisplayDrivers; uint32 LastErrorCode; uint32 MaxMemorySupported; uint32 MaxNumberControlled; uint32 MaxRefreshRate; uint32 MinRefreshRate; boolean Monochrome; string Name; uint16 NumberOfColorPlanes; uint32 NumberOfVideoPages; string PNPDeviceID; uint16 PowerManagementCapabilities[]; boolean PowerManagementSupported; uint16 ProtocolSupported; uint32 ReservedSystemPaletteEntries;
ผ
uint32 SpecificationVersion; string Status; uint16 StatusInfo; string SystemCreationClassName; string SystemName; uint32 SystemPaletteEntries; datetime TimeOfLastReset; uint16 VideoArchitecture; uint16 VideoMemoryType; uint16 VideoMode; string VideoModeDescription; string VideoProcessor; };
4.10 Syntax ของ Win32_NetworkAdapter class [Dynamic, Provider("CIMWin32"), UUID("{8502C4C0-5FBB-11D2-AAC1-006008C78BC7}"), AMENDMENT] class Win32_NetworkAdapter : CIM_NetworkAdapter { string AdapterType; uint16 AdapterTypeID; boolean AutoSense; uint16 Availability; string Caption; uint32 ConfigManagerErrorCode; boolean ConfigManagerUserConfig; string CreationClassName; string Description; string DeviceID; boolean ErrorCleared; string ErrorDescription; string GUID; uint32 Index;
ฝ
datetime InstallDate; boolean Installed; uint32 InterfaceIndex; uint32 LastErrorCode; string MACAddress; string Manufacturer; uint32 MaxNumberControlled; uint64 MaxSpeed; string Name; string NetConnectionID; uint16 NetConnectionStatus; boolean NetEnabled; string NetworkAddresses[]; string PermanentAddress; boolean PhysicalAdapter; string PNPDeviceID; uint16 PowerManagementCapabilities[]; boolean PowerManagementSupported; string ProductName; string ServiceName; uint64 Speed; string Status; uint16 StatusInfo; string SystemCreationClassName; string SystemName; datetime TimeOfLastReset; };