Windows Management Instrumentation (WMI) คือชุดข้อกำหนดจาก Microsoft สำหรับการรวมการจัดการอุปกรณ์และแอปพลิเคชันในเครือข่ายจากระบบคอมพิวเตอร์ Windows WMI ให้ข้อมูลเกี่ยวกับสถานะของระบบคอมพิวเตอร์ภายในหรือระยะไกลแก่ผู้ใช้
วัตถุประสงค์ของ WMI คือการช่วยให้ผู้ดูแลระบบจัดการสภาพแวดล้อมการทำงานของ Windows ที่แตกต่างกัน รวมถึงระบบระยะไกล ข้อได้เปรียบที่สำคัญประการหนึ่งของ WMI คือช่วยลดการบำรุงรักษาและต้นทุนในการจัดการส่วนประกอบเครือข่ายองค์กร
WMI ติดตั้งมาพร้อมกับระบบปฏิบัติการใหม่ล่าสุดของ Microsoft ผู้จำหน่ายจัดเตรียมอินเทอร์เฟซบรรทัดคำสั่ง (CLI) สำหรับ WMI ที่เรียกว่า WMI Command Line (WMIC) ในระบบปฏิบัติการก่อน Windows 10 WMIC เข้ากันได้กับเชลล์และคำสั่งยูทิลิตี้ที่มีอยู่ใน Windows เวอร์ชันก่อนหน้าเหล่านี้
WMI เป็นการดำเนินการของ WBEM
WMI คือการดำเนินการของ Microsoft ในโครงการริเริ่ม Web-Based Enterprise Management (WBEM) สำหรับแพลตฟอร์ม Windows ที่รองรับ WBEM เป็นความคิดริเริ่มทั่วทั้งอุตสาหกรรมในการพัฒนามาตรฐานโครงสร้างพื้นฐานการจัดการเพื่อเข้าถึงและรวมข้อมูลจากระบบการจัดการฮาร์ดแวร์และซอฟต์แวร์ต่างๆ ในสภาพแวดล้อมไอทีขององค์กร
WBEM สร้างขึ้นบนสคีมา Common Information Model (CIM) ซึ่งเป็นมาตรฐานอุตสาหกรรมคอมพิวเตอร์สำหรับกำหนดคุณลักษณะของอุปกรณ์และแอปพลิเคชัน CIM ช่วยให้ผู้ดูแลระบบและโปรแกรมการจัดการสามารถควบคุมอุปกรณ์และแอปพลิเคชันจากผู้ผลิตหรือแหล่งที่มาหลายราย ขับเคลื่อนโดย DMTF (เดิมชื่อ Distributed Management Task Force)
ป>
เจาะลึก WMI
WMI มอบรูปแบบการทำงานของ Windows การกำหนดค่า และสถานะในเครือข่ายองค์กรที่สอดคล้องกันให้กับผู้ใช้ มี COM API ที่อนุญาตให้เข้าถึงข้อมูลการจัดการเกี่ยวกับสถานะของระบบคอมพิวเตอร์ภายในหรือระยะไกล การเชื่อมต่อ WMI ระยะไกลทำได้ผ่าน Distributed Component Object Model (DCOM)
ชุดเครื่องมือ WMI ให้ส่วนขยายที่แตกต่างกันของ Windows Driver Model โมเดลนี้มีอินเทอร์เฟซระบบปฏิบัติการสำหรับข้อมูลสำคัญและการแจ้งเตือนประเภทต่างๆ
นักพัฒนาและผู้ดูแลระบบไอทีสามารถเขียนสคริปต์ WMI หรือแอปพลิเคชันเพื่อทำให้งานการดูแลระบบบนคอมพิวเตอร์ระยะไกลเป็นอัตโนมัติ ไม่จำเป็นต้องดาวน์โหลดหรือติดตั้งชุดพัฒนาซอฟต์แวร์ (SDK) เฉพาะเพื่อสร้างสคริปต์หรือแอปพลิเคชันเหล่านี้ แอปพลิเคชันหรือสคริปต์การจัดการสามารถดำเนินการหรือรับข้อมูลผ่าน WMI ในภาษาการเขียนโปรแกรมที่หลากหลาย
นอกเหนือจากการสนับสนุนสคริปต์แล้ว WMI ยังให้ข้อมูลการจัดการไปยังส่วนอื่นๆ ของระบบปฏิบัติการและผลิตภัณฑ์ รวมถึง Microsoft System Center Operations Manager (SCOM) และ Windows Remote Management (WinRM)
WMI รองรับการดำเนินการเช่น:
- การกำหนดค่าการตั้งค่าความปลอดภัย
- การตั้งค่าและการเปลี่ยนแปลงคุณสมบัติของระบบ
- การตั้งค่าและการเปลี่ยนแปลงการอนุญาตสำหรับผู้ใช้และกลุ่มผู้ใช้ที่ได้รับอนุญาต
- การกำหนดและการเปลี่ยนป้ายกำกับไดรฟ์
- กระบวนการจัดตารางเวลาให้ทำงานตามเวลาที่กำหนด
- การสำรองข้อมูลที่เก็บวัตถุ
- การเปิดใช้งานหรือปิดใช้งานการบันทึกข้อผิดพลาด
สถาปัตยกรรมเครื่องมือการจัดการ Windows
WMI มีอินเทอร์เฟซที่เหมือนกัน ดังนั้นแอปพลิเคชันและสคริปต์ไคลเอนต์ WMI จึงไม่จำเป็นต้องเรียกใช้ API ของระบบหลายตัว นอกจากนี้ สถาปัตยกรรมที่ยืดหยุ่นและขยายได้ยังให้การสนับสนุนอุปกรณ์ แอปพลิเคชัน และการปรับปรุงอื่นๆ ใหม่อีกด้วย
องค์ประกอบหลักสามประการของสถาปัตยกรรม WMI คือ:
- โครงสร้างพื้นฐานการจัดการ
- CIM Object Manager (CIMOM) ซึ่งมอบแนวทางที่เหมือนกันแก่แอปพลิเคชันในการเข้าถึงข้อมูลการจัดการ
- พื้นที่เก็บข้อมูลออบเจ็กต์ CIMOM ซึ่งเป็นพื้นที่จัดเก็บข้อมูลส่วนกลางสำหรับข้อมูลการจัดการ
- ผู้ให้บริการ WMI
- ตัวกลางระหว่าง CIMOM และออบเจ็กต์ที่ได้รับการจัดการ
- ฟังก์ชันหลัก:
- WMI API จัดหา CIMOM ด้วยข้อมูลจากอ็อบเจ็กต์ที่ได้รับการจัดการ
- จัดการคำขอในนามของแอปพลิเคชันการจัดการ
- สร้างการแจ้งเตือนกิจกรรม
- ผู้บริโภค WMI
- แอปพลิเคชันการจัดการ สคริปต์โต้ตอบกับโครงสร้างพื้นฐาน WMI เพื่อ:
- สอบถาม แจกแจงข้อมูล
- เรียกใช้วิธีการของผู้ให้บริการ
- ติดตามกิจกรรม
cmdlets บางตัวสำหรับการรวม CIM ใน PowerShell ส่วนประกอบ Windows Management Instrumentation
องค์ประกอบ WMI ที่สำคัญคือ:
- ออบเจ็กต์ที่ได้รับการจัดการ: ออบเจ็กต์คือเอนทิตี/ส่วนประกอบหรือบริการทางกายภาพใดๆ ที่ได้รับการจัดการผ่าน WMI เช่น ฮาร์ดดิสก์ไดรฟ์ อะแดปเตอร์เครือข่าย หรือระบบปฏิบัติการ
- ผู้ให้บริการ WMI: ออบเจ็กต์ Component Object Model (COM) ที่ตรวจสอบออบเจ็กต์ที่ได้รับการจัดการตั้งแต่หนึ่งรายการขึ้นไปสำหรับ WMI
- โครงสร้างพื้นฐาน WMI: ส่วนประกอบระบบปฏิบัติการ Windows ที่ประกอบด้วย WMI Core และ WMI Repository
- พื้นที่เก็บข้อมูล WMI: พื้นที่จัดเก็บข้อมูลส่วนกลางที่จัดการโดย CIMOM และจัดระเบียบโดยเนมสเปซ WMI ที่เก็บข้อมูลคงที่เกี่ยวกับออบเจ็กต์ เช่น คลาสที่ผู้ให้บริการ WMI กำหนด
- บริการ WMI: ทำหน้าที่เป็นสื่อกลางระหว่างแอปพลิเคชันการจัดการ (ผู้ให้บริการ) และที่เก็บ WMI
- ผู้บริโภค WMI: แอปพลิเคชันการจัดการหรือสคริปต์ที่ส่งแบบสอบถามโดยการเรียก COM API สำหรับ WMI หรือ API การเขียนสคริปต์สำหรับ WMI
ผู้ดูแลระบบใช้ WMI อย่างไร
ผู้ดูแลระบบสามารถใช้ WMI ในแอปพลิเคชันที่ใช้ Windows ทั้งหมด โดยเฉพาะอย่างยิ่งในแอปพลิเคชันระดับองค์กรและสคริปต์การดูแลระบบ การใช้งาน WMI ที่ได้รับความนิยมได้แก่:
- การจัดการคอมพิวเตอร์ระยะไกล
- การแบ่งปันข้อมูลการจัดการระหว่างแอปพลิเคชัน
- การเข้าถึงข้อมูลการจัดการจากแหล่งใดๆ ในลักษณะเดียวกัน
- การตรวจสอบระบบและเครือข่ายที่ใช้ Windows
- การตรวจสอบกิจกรรมทั่วทั้งเครือข่ายองค์กรโดยเป็นส่วนหนึ่งของระบบวิเคราะห์พฤติกรรมเอนทิตีผู้ใช้ (UEBA)
- การตรวจสอบเหตุการณ์ผิดปกติและพฤติกรรมที่น่าสงสัย และตรวจสอบภัยคุกคามจากภายใน
ป>
เรียกใช้แบบสอบถาม WMI
วิธีที่ง่ายที่สุดในการเรียกใช้แบบสอบถาม WMI คือการเรียกใช้ WMIC ในพร้อมท์คำสั่ง Windows มาตรฐาน:
- เปิดพรอมต์คำสั่ง
- พิมพ์ WMIC แล้วกด Enter เพื่อเรียกใช้โปรแกรม
- เมื่อพรอมต์คำสั่ง WMIC เปิดขึ้น ให้เรียกใช้คำสั่ง WMI อื่นและรับข้อมูลที่จำเป็นเป็นเอาต์พุต
- ผลลัพธ์จะแสดงในพรอมต์คำสั่ง
PowerShell สามารถเชื่อมต่อกับ Windows Management Interface (WMI) เพื่อให้ผู้ดูแลระบบใช้ภาษาสคริปต์ PowerShell ร่วมกับข้อมูล WMI การเริ่มต้นและหยุดบริการ WMI
บริการ winmgmt.exe อนุญาตให้ WMI ทำงานบนคอมพิวเตอร์ในระบบ WMI เริ่มต้นโดยอัตโนมัติเมื่อเริ่มต้นระบบ หรือเริ่มต้นโดยอัตโนมัติเมื่อแอปพลิเคชันหรือสคริปต์การจัดการ/การตรวจสอบแรกค้นหาการเชื่อมต่อกับเนมสเปซ WMI
หากต้องการเริ่มบริการ WMI:
- นำทางไปยังพรอมต์คำสั่ง
- ป้อนการเริ่มต้นสุทธิ winmgmt[/
] - บริการบางอย่างจะไม่เริ่มทำงานโดยอัตโนมัติทั้งนี้ขึ้นอยู่กับบริการ WMI
หากต้องการหยุดบริการ WMI:
- นำทางไปยังพรอมต์คำสั่ง
- ป้อน winmgmt หยุดสุทธิ
หมายเหตุ:เมื่อหยุดบริการ WMI บริการที่เกี่ยวข้องทั้งหมดจะหยุดทำงานด้วย
โครงสร้างพื้นฐานการจัดการ Windows
WMI รุ่นปัจจุบันเรียกว่า Windows Management Infrastructure (MI) MI API ประกอบด้วยอินเทอร์เฟซ การแจงนับ โครงสร้าง และสหภาพที่นักพัฒนาจำเป็นต้องใช้ในการสร้างผู้ให้บริการและไคลเอนต์ WMI ดั้งเดิม จากข้อมูลของ Microsoft WMI เข้ากันได้กับ WMI เวอร์ชันก่อนหน้าอย่างสมบูรณ์ ซึ่งหมายความว่าเวอร์ชันใหม่กว่าที่เขียนโดยใช้เฟรมเวิร์ก MI สามารถเข้าถึงได้โดยใช้สคริปต์และแอปพลิเคชัน WMI