คำแนะนำสั้น ๆ เกี่ยวกับ Windows Management Instrumentation (WMI)

กรอบงานสำหรับข้อมูลการจัดการและกิจกรรมบนระบบปฏิบัติการที่ใช้ Windows เรียกว่า Windows Management Instrumentation (WMI)

WMI ยังให้ข้อมูลการจัดการกับส่วนประกอบอื่นๆ ของระบบปฏิบัติการและผลิตภัณฑ์ เช่น SCOM (System Center Operations Manager) หรือ Windows Remote Management

Windows Management Instrumentation (WMI) คืออะไร

WMI เป็นแพลตฟอร์มสำหรับจัดการและตรวจสอบระบบปฏิบัติการและแอปพลิเคชันและบริการอื่นๆ ของ Microsoft บนคอมพิวเตอร์ส่วนบุคคล เซิร์ฟเวอร์ และอุปกรณ์เครือข่ายอื่นๆ

WMI มีอินเทอร์เฟซการเขียนโปรแกรมที่ครอบคลุม ปรับขนาดได้ และใช้งานง่าย ซึ่งให้การเข้าถึงข้อมูลและบริการทางโปรแกรมบนคอมพิวเตอร์ที่จัดการโดย Microsoft และอุปกรณ์เครือข่ายอื่นๆ

ใช้เพื่อค้นหาและตรวจสอบระบบปฏิบัติการ บริการ และแอปพลิเคชันบนคอมพิวเตอร์ ตลอดจนข้อมูลรีจิสทรีและระบบไฟล์ นอกจากนี้ยังใช้เพื่อสร้างและจัดการสคริปต์และโปรแกรมที่ทำให้การจัดการและการดูแลระบบคอมพิวเตอร์เป็นไปโดยอัตโนมัติ

ใช้ภาษาโปรแกรม WQL (Windows Query Language) เพื่อสืบค้นข้อมูลและดำเนินการบนระบบปฏิบัติการ คอมพิวเตอร์ และอุปกรณ์

นอกจากนี้ยังช่วยให้คุณเข้าถึง PowerShell ซึ่งเป็นหนึ่งในเครื่องมือการดูแลระบบที่มีประสิทธิภาพและยืดหยุ่นที่สุดสำหรับ Windows ซึ่งคุณอาจใช้เพื่อสร้างสคริปต์การทำงานอัตโนมัติ

นอกจากนี้ WMI ยังช่วยให้คุณสร้างแอปพลิเคชันที่กำหนดเองซึ่งมีฟังก์ชันเพิ่มเติมสำหรับการจัดการและการดูแลระบบและแอปพลิเคชัน Windows

ผู้ใช้ที่ต้องการตรวจสอบสถานะของเครื่อง ทำการแก้ไขปัญหาเบื้องต้น และรวบรวมข้อมูลประสิทธิภาพจะพบว่า WMI มีประโยชน์

วัตถุประสงค์ของ WMI คืออะไร?

WMI มีประโยชน์ในเครือข่ายองค์กรที่ใช้ Windows เนื่องจากทำให้การทำงานและการจัดการส่วนประกอบเครือข่ายขององค์กรง่ายขึ้นโดยส่งข้อมูลไปยังผลิตภัณฑ์อื่นๆ เพื่อการเพิ่มประสิทธิภาพและความสามารถในการขยายเพิ่มเติม

วัตถุประสงค์ทั้งหมดของ WMI คือการมอบประสบการณ์กรอบการจัดการที่เป็นหนึ่งเดียวในทุกแง่มุมของระบบ Windows เช่น:

  • ส่วนประกอบของระบบปฏิบัติการ
  • กระบวนการและเธรด
  • บริการ
  • อุปกรณ์
  • ไดรเวอร์
  • แอปพลิเคชั่น
  • บัญชีผู้ใช้
  • ตั้งค่าความปลอดภัย

วัตถุประสงค์ของการประดิษฐ์ WMI นำไปสู่การลดต้นทุนและเวลาในการดำเนินการและการพัฒนาที่เกี่ยวข้องกับระบบ windows WMI ยังช่วยให้คุณตรวจสอบเหตุการณ์ของระบบและรวบรวมข้อมูลประสิทธิภาพได้อีกด้วย ข้อมูลนี้สามารถใช้เพื่อแก้ไขปัญหาหรือติดตามแนวโน้มเมื่อเวลาผ่านไป

WMI มักใช้เพื่อทำให้งานดูแลระบบเป็นอัตโนมัติและเข้าถึงข้อมูลโดยไม่ต้องติดต่อกับระบบปฏิบัติการโดยตรง ด้วยเหตุนี้ WMI จึงเป็นทางเลือกที่ยอดเยี่ยมสำหรับผู้ดูแลระบบและนักพัฒนาซอฟต์แวร์ที่ต้องการทำให้กระบวนการที่ใช้เวลานานเป็นอัตโนมัติ

ทำได้ทุกอย่างตั้งแต่การตรวจสอบประสิทธิภาพของระบบไปจนถึงการรับข้อมูลแอปพลิเคชัน ช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันที่ชาญฉลาดและชาญฉลาดยิ่งขึ้น ในขณะเดียวกันก็ทำให้มั่นใจได้ว่าผู้ดูแลระบบไอทีสามารถทำงานให้เสร็จลุล่วงได้ด้วยความพยายามเพียงเล็กน้อย

WMI จัดเตรียมข้อมูลอ้างอิงสำหรับการเข้าถึงข้อมูลระบบ และเป็นเครื่องมือสำคัญสำหรับการจัดการและตรวจสอบระบบ Windows เป็นรากฐานที่สำคัญสำหรับ Azure Machine Learning และ AzureML และใช้เพื่อขับเคลื่อนผลิตภัณฑ์ของบริษัทอื่นที่หลากหลาย

การใช้ WMI

Windows Management Instrumentation (WMI) คือการส่งมอบ Web-Based Enterprise Management (WBEM) ของ Microsoft ซึ่งเป็นความคิดริเริ่มของอุตสาหกรรมเพื่อพัฒนาเทคโนโลยีที่ได้มาตรฐานสำหรับการเข้าถึงข้อมูลการกำกับดูแลกิจการ

WMI แสดงถึงระบบ แอปพลิเคชัน เครือข่าย อุปกรณ์ และส่วนประกอบที่มีการจัดการอื่นๆ โดยใช้มาตรฐานอุตสาหกรรม Common Information Model (CIM) Distributed Management Task Force (DMTF) สร้างและดูแล CIM

การออกแบบ WMI นั้นใช้งานได้หลากหลาย รองรับงานด้านการบริหารและการจัดการที่หลากหลาย ตลอดจนมอบสถาปัตยกรรมที่ยืดหยุ่นและขยายได้ ซึ่งช่วยให้ผู้ผลิตสามารถเขียนผู้ให้บริการ WMI ใหม่เพื่อรองรับอุปกรณ์ แอปพลิเคชัน และความก้าวหน้าอื่นๆ ใหม่

การใช้งานอื่น ๆ ได้แก่ :

  • การจัดการระบบปฏิบัติการ Windows และอุปกรณ์เครือข่ายของ Microsoft และบริการอย่างครอบคลุม
  • สามารถใช้เชื่อมต่อคอมพิวเตอร์ระยะไกลเพื่อเข้าถึงข้อมูล WMI
  • ค้นหาข้อมูลเกี่ยวกับระบบ เช่น โปรแกรมที่กำลังรันอยู่และบริการใดบ้างที่ตั้งค่าไว้
  • เพื่อดึงข้อมูลเกี่ยวกับข้อกำหนดฮาร์ดแวร์และดำเนินการต่างๆ เช่น การปิดระบบหรือรีบูตระบบ
  • การเปิดแอปพลิเคชัน การสตาร์ท การหยุด การกำหนดค่าบริการ และการเข้าถึงข้อมูล
  • นักพัฒนาแอปพลิเคชันการจัดการสามารถใช้ API นี้เพื่อสร้างสคริปต์ใน Visual Basic หรือ Windows Scripting Host (WSH)
  ไม่ต้องกังวล: แผงควบคุมของ Windows 10 ปลอดภัย (สำหรับตอนนี้)

สถาปัตยกรรม WMI

WMI (Windows Management Instrumentation) เป็นเทคโนโลยีของ Microsoft ที่นำเสนอครั้งแรกใน Windows 2000 ซึ่งช่วยให้โปรแกรมเมอร์สร้างโปรแกรมการจัดการที่ทำงานร่วมกับระบบใดก็ได้ที่สนับสนุน WMI

มาดูสถาปัตยกรรมและคำศัพท์ของ WMI กัน

โฟลว์ของสถาปัตยกรรม WMI เริ่มต้นจากอ็อบเจ็กต์: ส่วนประกอบ เช่น ฮาร์ดไดรฟ์ การ์ดเครือข่าย ระบบปฏิบัติการ หรือบริการ เป็นอ็อบเจ็กต์ที่มีการจัดการ (ที่สามารถจัดการผ่าน WMI) โครงสร้างพื้นฐาน WMI รับข้อมูลจากอ็อบเจ็กต์ผ่านผู้ให้บริการ ให้และรับข้อความจาก WMI และส่งมอบให้กับวัตถุ

ผู้ให้บริการ WMI ประกอบด้วย DLL และไฟล์ Managed Object Format (MOF) ที่ตรวจสอบเหตุการณ์และข้อมูลจากออบเจ็กต์ WMI จัดหมวดหมู่ผู้ให้บริการตามฟังก์ชันการทำงานที่มีให้โดยอินเทอร์เฟซของผู้ให้บริการ

มีผู้ให้บริการ WMI ในตัวจำนวนมากใน Windows รวมถึงผู้ให้บริการ Active Directory, ผู้ให้บริการ WMI ข้อมูลการกำหนดค่าการบูต (BCD), ผู้ให้บริการระบบไฟล์กระจาย (DFS), ผู้ให้บริการบันทึกเหตุการณ์, ผู้ให้บริการ Hyper-V WMI, ผู้ให้บริการ Win32, ผู้ให้บริการรีจิสทรี และผู้ให้บริการ SNMP

โครงสร้างพื้นฐาน WMI เป็นส่วนประกอบของระบบปฏิบัติการ Microsoft Windows ที่เรียกว่าบริการ WMI (winmgmt) WMI Core และ WMI Repository เป็นสองส่วนของโครงสร้างพื้นฐาน WMI

ที่เก็บ WMI เป็นการจัดเก็บข้อมูลแบบลำดับชั้นที่จัดโดยเนมสเปซ WMI ซึ่งมักรู้จักกันในชื่อ Common Information Model (CIM) บริการ WMI จะสร้างเนมสเปซจำนวนหนึ่งเมื่อเริ่มต้นระบบ รวมถึงค่าดีฟอลต์ของรูท, rootcimv2 และการสมัครรูท

นอกจากนี้ บริการจะสร้างชุดคำจำกัดความของคลาสเริ่มต้น ซึ่งรวมถึงคลาสของระบบ Win32 และ WMI เนมสเปซ WMI อื่นๆ อาจสร้างขึ้นโดยผู้ให้บริการ WMI เพิ่มเติม และแต่ละเนมสเปซประกอบด้วยอ็อบเจ็กต์ WMI หลายรายการ

บริการ WMI ทำหน้าที่เป็นตัวกลางระหว่างผู้ให้บริการ แอปพลิเคชันการจัดการ และที่เก็บ WMI เฉพาะข้อมูลแบบคงที่เกี่ยวกับอ็อบเจ็กต์เท่านั้นที่ถูกเก็บไว้ในที่เก็บ เช่น คลาสที่กำหนดโดยผู้ให้บริการ WMI รับข้อมูลส่วนใหญ่แบบไดนามิกจากผู้ให้บริการเมื่อไคลเอนต์ร้องขอ

ผู้บริโภค WMI คือแอปพลิเคชันการจัดการหรือสคริปต์ที่สื่อสารกับโครงสร้างพื้นฐาน WMI การใช้ COM API สำหรับ WMI หรือ Scripting API สำหรับ WMI โปรแกรมการจัดการสามารถสืบค้น แยกรายการข้อมูล เรียกใช้เมธอดของผู้ให้บริการ และสมัครรับข้อมูลเหตุการณ์ได้

WMI สร้างอินเทอร์เฟซมาตรฐานสำหรับการดึงข้อมูลการจัดการจากระยะไกลและในเครื่อง อินเทอร์เฟซที่เหมือนกันเป็นนามธรรมจากอินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชัน (API) ของระบบปฏิบัติการ ซึ่งช่วยให้แอปและสคริปต์รวบรวมข้อมูลการจัดการโดยไม่จำเป็นต้องทราบเกี่ยวกับระบบปฏิบัติการ API

จะเรียกใช้แบบสอบถาม WMI ได้อย่างไร

คุณลักษณะของความเก่งกาจของแพลตฟอร์ม WMI คือความสามารถในการสืบค้นที่เก็บข้อมูลเพื่อรับรายละเอียดเกี่ยวกับข้อมูลคลาส อินสแตนซ์ หรือสคีมา ตัวชี้วัดเหล่านี้เชื่อมโยงกับรายการของระบบท้องถิ่นและระยะไกล ระบบปฏิบัติการ ซอฟต์แวร์ และกิจกรรมการดูแลระบบอื่นๆ

ประเภทของแบบสอบถาม

โดยทั่วไป การสืบค้นข้อมูลสองประเภทที่ใช้ในการดึงข้อมูลจากที่เก็บ WMI:

แบบสอบถามแบบซิงโครนัส: เป็นคิวรีที่คอยควบคุมการทำงานของแอปพลิเคชันของคุณตลอดการสืบค้น ง่ายกว่าการโทรแบบอะซิงโครนัสเพราะใช้การเรียกอินเทอร์เฟซเพียงครั้งเดียว อย่างไรก็ตาม สำหรับการค้นหาจำนวนมากหรือการสอบถามเกี่ยวกับเครือข่าย แอปพลิเคชันของคุณอาจหยุดทำงาน

การสืบค้นแบบอะซิงโครนัส: เมื่อความเร็วของระบบหรือเครือข่ายได้รับผลกระทบจากการสืบค้นกลุ่มข้อมูลขนาดใหญ่ การสืบค้นแบบอะซิงโครนัสเป็นประเภทที่ควรใช้

WQL (ภาษาแบบสอบถาม WMI)

วิธีหนึ่งที่นิยมใช้ในการสืบค้น WMI คือ WMI Query Language

SQL (Structured Query Language) ถูกใช้ในสภาพแวดล้อมฐานข้อมูล และใช้ WQL ใน WMI พวกเขาทั้งสองมีโครงสร้างไวยากรณ์ที่คล้ายกัน

Select, From และ Where คือคำสั่ง WQL พื้นฐานที่ใช้ในการเรียกใช้แบบสอบถาม

  วิธีแก้ไขบริการ Windows Defender ไม่เริ่มทำงานบน Windows 10

แบบสอบถาม WMI ทั่วไปเริ่มต้นด้วยการเลือกคุณสมบัติทั้งหมดจากคลาส WMI โดยใช้คำสั่ง “เลือก” เครื่องหมายดอกจัน (“*”) ใช้เพื่อเลือกคุณสมบัติทั้งหมดจากคลาส WMI คุณสามารถใช้คีย์เวิร์ด “จาก” เพื่อระบุคลาส WMI ที่จะสืบค้นหลังจากเลือกคุณสมบัติ (คุณสมบัติอย่างน้อยหนึ่งรายการหรือทั้งหมด) คุณสามารถตรวจสอบ SQL cheatsheet สำหรับไวยากรณ์ที่แน่นอน

WQL สามารถดำเนินการได้ผ่าน WMI Tester (wbemtest.exe) ซึ่งโดยค่าเริ่มต้นจะติดตั้งกับระบบปฏิบัติการ Windows แบบสอบถาม WMI ยังสามารถดำเนินการผ่าน Windows PowerShell, VBScript และภาษา C

ประเภทของแบบสอบถาม WQL

แบบสอบถาม WQL ถูกใช้เพื่อรับข้อมูลสามประเภทที่แตกต่างกัน

แบบสอบถามออบเจ็กต์: ข้อมูลเกี่ยวกับทรัพยากรระบบ Windows สามารถเรียกค้นได้โดยใช้แบบสอบถามเหล่านี้

คิวรี่เหตุการณ์: คิวรีเหล่านี้ใช้เพื่อติดตามการเปลี่ยนแปลงของบันทึกเหตุการณ์ การเริ่มต้นของกระบวนการ สถานะของบริการ ความพร้อมใช้งานของคอมพิวเตอร์ หรือจำนวนพื้นที่ว่างในดิสก์ ท่ามกลางเอนทิตีหรือเหตุการณ์อื่นๆ

แบบสอบถามสคีมา: แบบสอบถามเหล่านี้ใช้เพื่อขอรับรายละเอียดเกี่ยวกับโครงสร้างของสคีมา WMI

เรียกใช้แบบสอบถาม

มาดูวิธีการเรียกใช้คิวรี่ออบเจ็กต์กัน

วิธีการต่อไปนี้ระบุวิธีการตรวจสอบกระบวนการ WIN_32 บนระบบภายใน

เครื่องมือ WMI Tester ดำเนินการผ่านบรรทัดคำสั่งโดยป้อน wbemtest.exe

หน้าต่างต่อไปนี้จะปรากฏขึ้น

ในการเชื่อมต่อกับเนมสเปซ WMI ที่มีคลาสที่คุณต้องการสอบถาม (ในกรณีส่วนใหญ่ RootCimv2): คลิกที่แท็บเชื่อมต่อ

ในการเรียกใช้แบบสอบถาม ให้คลิกที่แท็บ ‘แบบสอบถาม’ ดังที่แสดงด้านล่าง:

จากนั้นป้อนแบบสอบถามที่คุณต้องการดึงข้อมูล ตัวอย่างเช่น ลองเรียกกระบวนการทั้งหมดที่ทำงานบนระบบโลคัลโดยการเรียกใช้:

select * From Win32_process

หลังจากคลิกแท็บ Apply คุณจะได้ผลลัพธ์ด้านล่าง

การดำเนินการตาม GUI ข้างต้นสามารถทำได้ที่พรอมต์คำสั่งผ่าน PowerShell:

ในแพลตฟอร์ม PowerShell เพื่อรับรายการกระบวนการ win_32 ทั้งหมด จะใช้รหัสด้านล่าง:

Get-WmiObject -Class Win32_Process

หากต้องการรับพารามิเตอร์การสืบค้น PowerShell ทั้งหมด ให้ไปที่ Microsoft PowerShell Management หน้าหนังสือ.

ในการเรียกใช้แบบสอบถามนี้ในภาษา VBScript และ C, the หน้าเอกสารของ Microsoft จะให้ข้อมูลเชิงลึกที่สมบูรณ์

อีกวิธีหนึ่งในการสอบถามที่เก็บ WMI คือการใช้คำสั่ง WMIC:

  • เรียกใช้ CMD จากพรอมต์คำสั่ง
  • พิมพ์ WMIC และ enter เพื่อเริ่มโปรแกรม
  • จากนั้นพรอมต์คำสั่งจะเปลี่ยนเป็น wmic:rootcli>

ผู้ดูแลระบบสามารถเรียกใช้การสืบค้น WMI จากพรอมต์นี้

ตัวอย่างเช่น ในการโหลดข้อมูล CPU ของระบบโลคัล คำสั่งจะเป็น:

wmic:rootcli> WMIC CPU

ผลลัพธ์/ข้อมูลจะแสดงในพรอมต์คำสั่ง

AddressWidth  Architecture  AssetTag                Availability  Caption                                 Characteristics  ConfigManagerErrorCode  ConfigManagerUserConfig  CpuStatus  CreationClassName  CurrentClockSpeed  CurrentVoltage  DataWidth  Description                             DeviceID  ErrorCleared  ErrorDescription  ExtClock  Family  InstallDate  L2CacheSize  L2CacheSpeed  L3CacheSize  L3CacheSpeed  LastErrorCode  Level  LoadPercentage  Manufacturer  MaxClockSpeed  Name                                      NumberOfCores  NumberOfEnabledCore  NumberOfLogicalProcessors  OtherFamilyDescription  PartNumber              PNPDeviceID  PowerManagementCapabilities  PowerManagementSupported  ProcessorId       ProcessorType  Revision  Role  SecondLevelAddressTranslationExtensions  SerialNumber            SocketDesignation  Status  StatusInfo  Stepping  SystemCreationClassName  SystemName  ThreadCount  UniqueId  UpgradeMethod  Version  VirtualizationFirmwareEnabled  VMMonitorModeExtensions  VoltageCaps
64            9             To Be Filled By O.E.M.  3             Intel64 Family 6 Model 142 Stepping 10  252                                                               1          Win32_Processor    1801               7               64         Intel64 Family 6 Model 142 Stepping 10  CPU0                                      100       205                  1024                       6144         0                            6      31              GenuineIntel  1801           Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz  4              4                    8                                                  To Be Filled By O.E.M.                                            FALSE                     BFEBFBFF000806EA  3                        CPU   TRUE                                     To Be Filled By O.E.M.  U3E1               OK      3                     Win32_ComputerSystem     RENEE-HP     8                      51                      FALSE                          TRUE

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ WMIC Alias ​​และกริยา โปรดไปที่ Microsoft wmic.

  เรียกใช้ Bash ในฐานะผู้ดูแลระบบจากเมนูบริบทใน Windows 10

คำถามที่พบบ่อยเกี่ยวกับ WMI

พอร์ตที่ใช้ใน WMI คืออะไร?

พอร์ตที่ใช้คือ 49152 และ 65535 Distributed Component Object Model (DCOM) ซึ่งใช้ WMI เป็นหลัก ใช้พอร์ต TCP ที่เลือกแบบสุ่มสำหรับการเชื่อมต่อระหว่างช่วง 49152 ถึง 65535 โดยค่าเริ่มต้น

WMI เลิกใช้แล้วหรือไม่

ยังคงรองรับ WMI สำหรับ Windows 10 เวอร์ชัน 21H1 และการเปิดตัว Windows Server รายครึ่งปีของเวอร์ชัน 21H1 โปรแกรม WMI command-line (WMIC) ไม่ได้รับการสนับสนุนอีกต่อไป

เครื่องมือตรวจสอบ WMI คืออะไร?

มีเครื่องมือมากมายที่ใช้ตรวจสอบ WMI อย่างไรก็ตาม กำมือหนึ่งเป็นที่นิยมโดยเฉพาะ:
SolarWinds WMI Monitor พร้อมเซิร์ฟเวอร์และ Application Monitor
เซ็นเซอร์บริการ Paessler WMI พร้อม PRTG
Nagios XI
Sapien WMI Explorer
เครื่องมือฟรีคือ WMI Explorer, Adrem Free WMI Tools

วิธีแก้ไขปัญหา WMI

คุณอาจเห็นข้อผิดพลาดตั้งแต่คลาสที่ขาดหายไปไปจนถึงการเข้าถึงการละเมิดขณะพยายามเข้าถึงข้อมูลในเครื่องหรือระยะไกลของ WMI ในแอปพลิเคชันหรือสคริปต์ ตรวจสอบ คู่มือการแก้ไขปัญหา Microsoft WMI เพื่อหาทางแก้ไขข้อผิดพลาดดังกล่าว

บทสรุป

โดยทั่วไป Windows Management Instrumentation เป็นเครื่องมือที่แข็งแกร่งที่สามารถใช้จัดการคุณลักษณะต่างๆ ที่เกี่ยวข้องกับระบบ Windows ได้หลากหลาย WMI อาจเป็นเครื่องมือที่มีประโยชน์มากสำหรับทุกคนที่เกี่ยวข้องกับระบบ Windows แม้ว่าในตอนแรกอาจดูน่ากลัวก็ตาม

เรื่องล่าสุด

x