WMI هو اختصار لـ Windows Management Instrumentation باللغة الإنجليزية، ووظائفه الرئيسية هي: الوصول إلى بعض المعلومات والخدمات الخاصة بالمضيف المحلي، ويمكنه إدارة أجهزة الكمبيوتر البعيدة (بالطبع يجب أن يكون لديك أذونات كافية)، مثل: إعادة التشغيل، إيقاف التشغيل، الإغلاق. العمليات، إنشاء العمليات الانتظار.
بالطبع هذه المقالة قابلة للتطبيق على vbscript
معلومات مايكروسوفت الرسمية:
الأمثلة هي كما يلي:
لاستخدام WMI، قم بالمشروع أولاً - راجع مكتبة Microsoft WMI Scripting V1.1
احصل على معلومات حول بطاقة الرسومات/بطاقة الصوت/الذاكرة/نظام التشغيل
معلومات عن بطاقة الصوت
Private Sub wmiSoundDeviceInfo()Dim wmiObjSet As SWbemObjectSetDim obj As SWbemObjectSet wmiObjSet = GetObject(winmgmts:{impersonationLevel=impersonate}). د الفرعيةمعلومات بطاقة الرسومات
Private Sub wmiVideoControllerInfo()Dim wmiObjSet As SWbemObjectSetDim obj As SWbemObjectSet wmiObjSet = GetObject(winmgmts:{impersonationLevel=impersonate}). obj.VideoProcessorNextEnd Subمعلومات الذاكرة
Private Sub wmiPhysicalMemoryInfo()Dim wmiObjSet As SWbemObjectSetDim obj As SWbemObjectSet wmiObjSet = GetObject(winmgmts:{impersonationLevel=impersonate} _InstancesOf(Win32_PhysicalMemory) عند استئناف الخطأ المحلي لكل كائن في wmiObjSetDebug.Print BankLa. بيل: & objItem.BankLabelDebug.سعة الطباعة: & objItem.CapacityDebug.طباعة التسمية التوضيحية: & objItem.CaptionDebug.Print CreationClassName: & objItem.CreationClassNameDebug.Print DataWidth: & objItem.DataWidthDebug.Print الوصف: & objItem.DescriptionDebug.Print DeviceLocator: & objItem.DeviceLocatorDebug.Print FormFactor: & objItem.FormFactorDebug.Print HotSwappable: & objItem.HotSwappableDebug.Print InstallDate: & objItem.InstallDateDebug.Print InterleaveDataDepth: & objItem.InterleaveDataDepthDebug.Print InterleavePosition: & objItem.InterleavePositionDebug.Print الشركة المصنعة: & objItem.ManufacturerDebug.Print MemoryType: & objItem.MemoryTypeDebug.Print Model: & objItem.ModelDebug.Print Name: & objItem.nameDebug.Print OtherIdentifyingInfo: & objItem.OtherIdentifyingInfoDebug.Print PartNumber: & objItem.PartNumberDebug.Print PositionInRow: & objItem.PositionInRowDebug.Print PoweredOn: & objItem.PoweredOnDebug.Print قابل للإزالة: & objItem.RemovableDebug.Print قابل للاستبدال: & objItem.ReplaceableDebug.Print الرقم التسلسلي: & objItem.SerialNumberDebug.Print SKU: & objItem.SKUDebug.سرعة الطباعة: & objItem.SpeedDebug.حالة الطباعة: & objItem.StatusDebug.Print Tag: & objItem.TagDebug.Print TotalWidth: & objItem.TotalWidthDebug.Print TypeDetail: & objItem.TypeDetailDebug.Print الإصدار: & objItem. الإصدار التالي نهاية الفرعيةمعلومات نظام التشغيل
Private Sub Command1_Click()Dim wmiObjSet كـ SWbemObjectSetDim كائن كـ SWbemObjectDim msg كـ StringDim dtb كـ StringDim d كـ StringDim t كـ StringDim متحيز كـ LongOn خطأ محلي استئناف NextSet wmiObjSet = GetObject(winmgmts:{impersonationLevel=impersonate}).InstancesOf(Win32_OperatingSystem)لكل كائن في wmiObjSetMsgBox النظام الذي تستخدمه حاليًا هو & obj.CaptionNextEnd Subيوضح:
قد تجد قاعدة في الواقع، يستخدم WMI اسم مكتبة WIN32_class لاستخراج المعلومات. الجدول التالي هو وصف لفئات الأجهزة المختلفة لنظام التشغيل Microsoft.
توجد معلومات حول فئات WMI الأخرى المُدارة
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/accessing_hardware_and_software_through_wmi.asp
يمكنك العثور عليه، والذي يحتوي أيضًا على بعض نماذج التعليمات البرمجية.
جدول فئة Win_32 بسيط
فئات Win32
تمنحك فئات Microsoft® Windows® الوسائل اللازمة للتعامل مع مجموعة متنوعة من الكائنات. يحدد الجدول التالي فئات فئات Windows.
وصف الفئة
فئات أجهزة نظام الكمبيوتر التي تمثل الكائنات المتعلقة بالأجهزة.
فئات نظام التشغيل التي تمثل الكائنات ذات الصلة بنظام التشغيل.
التطبيقات المثبتة الفئات التي تمثل الكائنات ذات الصلة بالبرمجيات.
فئات إدارة خدمة WMI المستخدمة لإدارة WMI.
عدادات الأداء الفئات التي تمثل بيانات الأداء المنسقة والأولية.
الأجهزة
فئات أجهزة نظام الكمبيوتر
تقوم الفئة الفرعية لأجهزة التبريد بمجموعات الفئات التي تمثل المراوح الآلية، ومسبارات درجة الحرارة، وأجهزة التبريد.
وصف الفصل
Win32_Fan يمثل خصائص جهاز المروحة في نظام الكمبيوتر.
Win32_HeatPipe يمثل خصائص جهاز تبريد الأنابيب الحرارية.
Win32_Refrigeration يمثل خصائص جهاز التبريد.
Win32_TemperatureProbe يمثل خصائص جهاز استشعار درجة الحرارة (مقياس الحرارة الإلكتروني).
فئات أجهزة الإدخال
تقوم الفئة الفرعية لأجهزة الإدخال بتجميع الفئات التي تمثل لوحات المفاتيح وأجهزة التأشير.
وصف الفصل
Win32_Keyboard يمثل لوحة المفاتيح المثبتة على نظام Windows.
Win32_PointingDevice يمثل جهاز إدخال يستخدم للإشارة إلى المناطق وتحديدها على شاشة نظام كمبيوتر يعمل بنظام Windows.
فئات التخزين الشامل
تمثل الفئات الموجودة في الفئة الفرعية للتخزين كبير السعة أجهزة التخزين مثل محركات الأقراص الثابتة، ومحركات الأقراص المضغوطة، ومحركات الأشرطة.
وصف الفصل
Win32_AutochkSetting يمثل إعدادات عملية الفحص التلقائي للقرص.
Win32_CDROMDrive يمثل محرك الأقراص المضغوطة على نظام كمبيوتر يعمل بنظام Windows.
Win32_DiskDrive يمثل محرك الأقراص الفعلي كما يراه جهاز كمبيوتر يعمل بنظام التشغيل Windows.
Win32_FloppyDrive يدير قدرات محرك الأقراص المرنة.
Win32_PhysicalMedia يمثل أي نوع من الوثائق أو وسائط التخزين.
Win32_TapeDrive يمثل محرك الأشرطة على جهاز كمبيوتر يعمل بنظام Windows.
اللوحة الأم ووحدة التحكم وفئات المنافذ
تقوم الفئات الفرعية للوحة الأم ووحدات التحكم والمنافذ بمجموعات تمثل أجهزة النظام، وتشمل الأمثلة ذاكرة النظام وذاكرة التخزين المؤقت ووحدات التحكم.
وصف الفصل
Win32_1394Controller يمثل إمكانيات وإدارة وحدة تحكم 1394.
Win32_1394ControllerDevice يربط وحدة تحكم الناقل التسلسلي عالي السرعة (IEEE 1394 Firewire) ومثيل CIM_LogicalDevice المتصل به.
Win32_AllocatedResource يربط جهازًا منطقيًا بمورد النظام.
Win32_AssociatedProcessorMemory يتعلق بالمعالج وذاكرة التخزين المؤقت الخاصة به.
Win32_BaseBoard يمثل اللوحة الأساسية (المعروفة أيضًا باللوحة الأم أو لوحة النظام).
Win32_BIOS يمثل سمات خدمات الإدخال/الإخراج الأساسية لنظام الكمبيوتر (BIOS) المثبتة على الكمبيوتر.
Win32_Bus يمثل الناقل الفعلي كما يراه نظام التشغيل Windows.
Win32_CacheMemory يمثل الذاكرة المؤقتة (الداخلية والخارجية) على نظام الكمبيوتر.
Win32_ControllerHasHub يمثل المحاور الموجودة أسفل وحدة تحكم الناقل التسلسلي العالمي (USB).
Win32_DeviceBus يربط بين ناقل النظام والجهاز المنطقي الذي يستخدم الناقل.
Win32_DeviceMemoryAddress يمثل عنوان ذاكرة الجهاز على نظام Windows.
Win32_DeviceSettings يتعلق بجهاز منطقي وإعداد يمكن تطبيقه عليه.
Win32_DMAChannel يمثل قناة الوصول المباشر للذاكرة (DMA) على نظام كمبيوتر يعمل بنظام Windows.
Win32_FloppyController يمثل القدرات والقدرة الإدارية لوحدة تحكم محرك الأقراص المرنة.
يمثل Win32_IDEController إمكانات جهاز التحكم في إلكترونيات محرك الأقراص المتكاملة (IDE).
فئة اقتران Win32_IDEControllerDevice التي تربط وحدة تحكم IDE والجهاز المنطقي.
Win32_InfraredDevice يمثل إمكانيات وإدارة جهاز الأشعة تحت الحمراء.
Win32_IRQResource يمثل رقم سطر طلب المقاطعة (IRQ) على نظام كمبيوتر يعمل بنظام Windows.
Win32_MemoryArray يمثل خصائص مصفوفة ذاكرة نظام الكمبيوتر والعناوين المعينة.
Win32_MemoryArrayLocation يتعلق بمصفوفة الذاكرة المنطقية ومصفوفة الذاكرة الفعلية التي توجد عليها.
Win32_MemoryDevice يمثل خصائص جهاز ذاكرة نظام الكمبيوتر بالإضافة إلى العناوين المعينة المرتبطة به.
Win32_MemoryDeviceArray يتعلق بجهاز الذاكرة ومصفوفة الذاكرة التي يوجد بها.
فئة اقتران Win32_MemoryDeviceLocation التي تربط جهاز الذاكرة والذاكرة الفعلية الموجودة عليه.
Win32_MotherboardDevice يمثل جهازًا يحتوي على المكونات المركزية لنظام الكمبيوتر الذي يعمل بنظام Windows.
Win32_OnBoardDevice يمثل أجهزة المحول الشائعة المضمنة في اللوحة الأم (لوحة النظام).
Win32_ParallelPort يمثل خصائص المنفذ المتوازي على نظام كمبيوتر يعمل بنظام Windows.
Win32_PCMCIAController يدير إمكانيات جهاز التحكم بمحول واجهة بطاقة ذاكرة الكمبيوتر الشخصي (PCMCIA).
Win32_PhysicalMemory يمثل جهاز الذاكرة الفعلي الموجود على جهاز الكمبيوتر كما هو متاح لنظام التشغيل.
Win32_PhysicalMemoryArray يمثل تفاصيل حول الذاكرة الفعلية لنظام الكمبيوتر.
Win32_PhysicalMemoryLocation يتعلق بمصفوفة من الذاكرة الفعلية وذاكرتها الفعلية.
Win32_PNPAllocatedResource يمثل ارتباطًا بين الأجهزة المنطقية وموارد النظام.
Win32_PNPDevice يتعلق بجهاز (يُعرف لدى مدير التكوين باسم PNPEntity)، والوظيفة التي يؤديها.
Win32_PNPEntity يمثل خصائص جهاز التوصيل والتشغيل.
Win32_PortConnector يمثل منافذ الاتصال الفعلية، مثل DB-25 pin Male وCentronics وPS/2.
Win32_PortResource يمثل منفذ الإدخال/الإخراج على نظام كمبيوتر يعمل بنظام Windows.
Win32_Processor يمثل جهازًا قادرًا على تفسير سلسلة من تعليمات الجهاز على نظام كمبيوتر يعمل بنظام Windows.
Win32_SCSIController يمثل وحدة تحكم صغيرة لواجهة نظام الكمبيوتر (SCSI) على نظام Windows.
Win32_SCSIControllerDevice يربط وحدة تحكم SCSI والجهاز المنطقي (محرك الأقراص) المتصل بها.
Win32_SerialPort يمثل منفذًا تسلسليًا على نظام Windows.
Win32_SerialPortConfiguration يمثل إعدادات نقل البيانات على المنفذ التسلسلي لنظام التشغيل Windows.
Win32_SerialPortSetting يتعلق بالمنفذ التسلسلي وإعدادات التكوين الخاصة به.
Win32_SMBIOSMemory يمثل إمكانيات وإدارة الأجهزة المنطقية المتعلقة بالذاكرة.
Win32_SoundDevice يمثل خصائص جهاز الصوت على نظام كمبيوتر يعمل بنظام Windows.
Win32_SystemBIOS يرتبط بنظام الكمبيوتر (بما في ذلك البيانات مثل خصائص بدء التشغيل أو المناطق الزمنية أو تكوينات التمهيد أو كلمات المرور الإدارية) ونظام BIOS (الخدمات واللغات وخصائص إدارة النظام).
Win32_SystemDriverPNPEntity يتعلق بجهاز التوصيل والتشغيل على نظام الكمبيوتر الذي يعمل بنظام Windows وبرنامج التشغيل الذي يدعم جهاز التوصيل والتشغيل.
Win32_SystemEnclosure يمثل الخصائص المرتبطة بعلبة النظام الفعلية.
Win32_SystemMemoryResource يمثل مورد ذاكرة النظام على نظام Windows.
Win32_SystemSlot يمثل نقاط الاتصال الفعلية بما في ذلك المنافذ وفتحات اللوحة الأم والأجهزة الطرفية ونقاط الاتصالات الخاصة.
Win32_USBController يدير إمكانيات وحدة تحكم الناقل التسلسلي العالمي (USB).
Win32_USBControllerDevice يرتبط بوحدة تحكم USB ومثيلات CIM_LogicalDevice المتصلة بها.
Win32_USBHub يمثل خصائص الإدارة لمحور USB.
فئات أجهزة الشبكات
تقوم الفئة الفرعية لأجهزة الشبكة بتجميع الفئات التي تمثل وحدة تحكم واجهة الشبكة وتكويناتها وإعداداتها.
وصف الفصل
Win32_NetworkAdapter يمثل محول الشبكة على نظام Windows.
Win32_NetworkAdapterConfiguration يمثل سمات وسلوكيات محول الشبكة ولا يتم ضمان دعم الفئة بعد التصديق على مواصفات شبكة CIM الخاصة بفريق عمل الإدارة الموزعة (DMTF).
Win32_NetworkAdapterSetting يتعلق بمحول الشبكة وإعدادات التكوين الخاصة به.
فئات القوة
تقوم فئة الطاقة الفرعية بتجميع الفئات التي تمثل مصادر الطاقة والبطاريات والأحداث المتعلقة بهذه الأجهزة.
وصف الفصل
Win32_AssociatedBattery يتعلق بالجهاز المنطقي والبطارية التي يستخدمها.
Win32_Battery يمثل بطارية متصلة بنظام الكمبيوتر.
Win32_CurrentProbe يمثل خصائص مستشعر المراقبة الحالي (مقياس التيار).
Win32_PortableBattery يمثل خصائص البطارية المحمولة، مثل تلك المستخدمة للكمبيوتر المحمول.
Win32_PowerManagementEvent يمثل أحداث إدارة الطاقة الناتجة عن تغييرات حالة الطاقة.
Win32_UninterruptiblePowerSupply يمثل القدرات والقدرة الإدارية لمصدر الطاقة غير المنقطع (UPS).
Win32_VoltageProbe يمثل خصائص مستشعر الجهد (الفولتميتر الإلكتروني).
دروس الطباعة
تقوم فئة الطباعة الفرعية بتجميع الفئات التي تمثل الطابعات وتكوينات الطابعة ومهام الطباعة.
وصف الفصل
Win32_DriverForDevice يربط الطابعة ببرنامج تشغيل الطابعة.
Win32_Printer يمثل جهازًا متصلاً بنظام كمبيوتر يعمل بنظام Windows قادر على إعادة إنتاج صورة مرئية على وسيط.
Win32_PrinterConfiguration يحدد التكوين لجهاز الطابعة.
Win32_PrinterController يتعلق بالطابعة والجهاز المحلي الذي تتصل به الطابعة.
Win32_PrinterDriver يمثل برامج التشغيل لمثيل Win32_Printer.
Win32_PrinterDriverDll يتعلق بالطابعة المحلية وملف برنامج التشغيل الخاص بها (وليس برنامج التشغيل نفسه).
Win32_PrinterSetting يتعلق بالطابعة وإعدادات التكوين الخاصة بها.
Win32_PrintJob يمثل مهمة طباعة تم إنشاؤها بواسطة تطبيق Windows.
Win32_TCPIPPrinterPort يمثل نقطة وصول خدمة TCP/IP.
دروس الهاتف
تقوم الفئة الفرعية للاتصالات الهاتفية بتجميع الفئات التي تمثل أجهزة مودم الهاتف القديمة العادية والاتصالات التسلسلية المرتبطة بها.
وصف الفصل
Win32_POTSModem يمثل خدمات وخصائص مودم خدمة الهاتف القديم العادي (POTS) على نظام Windows.
Win32_POTSModemToSerialPort يتعلق بالمودم والمنفذ التسلسلي الذي يستخدمه المودم.
دروس الفيديو والمراقبة
تقوم الفئة الفرعية "الفيديو والشاشات" بمجموعات الفئات التي تمثل الشاشات وبطاقات الفيديو والإعدادات المرتبطة بها.
وصف الفصل
Win32_DesktopMonitor يمثل نوع الشاشة أو جهاز العرض المتصل بنظام الكمبيوتر.
Win32_DisplayConfiguration يمثل معلومات التكوين لجهاز العرض على نظام Windows. هذه الفئة قديمة، وبدلاً من هذه الفئة، استخدم الخصائص الموجودة في فئات Win32_VideoController، وWin32_DesktopMonitor، وCIM_VideoControllerResolution.
Win32_DisplayControllerConfiguration يمثل معلومات تكوين محول الفيديو لنظام Windows. هذه الفئة قديمة، وبدلاً من هذه الفئة، استخدم الخصائص الموجودة في الفئات Win32_VideoController، وWin32_DesktopMonitor، وCIM_VideoControllerResolution.
Win32_VideoConfiguration تم حذف هذه الفئة من نظام التشغيل Windows XP والإصدارات الأحدث؛ وستؤدي محاولات استخدامها إلى حدوث خطأ فادح، وبدلاً من هذه الفئة، استخدم الخصائص الموجودة في الفئات Win32_VideoController، وWin32_DesktopMonitor، وCIM_VideoControllerResolution.
Win32_VideoController يمثل الإمكانيات والقدرة الإدارية لوحدة تحكم الفيديو على نظام كمبيوتر يعمل بنظام Windows.
Win32_VideoSettings يتعلق بوحدة تحكم الفيديو وإعدادات الفيديو التي يمكن تطبيقها عليها.
كل فئة لديها بنية البيانات المقابلة مثل
بطاقة الرسومات
فئة Win32_VideoController: CIM_PCVideoController
{
uint16 AcceleratorCapabilities[];
توافق محول السلسلة؛
stringAdapterDACType;
uint32 محولRAM;
uint16 التوفر؛
سلسلة CapabilityDescriptions[];
تسمية توضيحية للسلسلة؛
uint32 ColorTableEntries;
uint32 ConfigManagerErrorCode;
boolean ConfigManagerUserConfig;
سلسلة CreationClassName؛
uint32 CurrentBitsPerPixel;
uint32 CurrentHorizontalResolution;
uint64 CurrentNumberOfColors;
uint32 CurrentNumberOfColumns;
uint32 CurrentNumberOfRows;
uint32 CurrentRefreshRate;
uint16 CurrentScanMode;
uint32 CurrentVerticalResolution;
وصف السلسلة؛
سلسلة معرف الجهاز؛
uint32 DeviceSpecificPens;
uint32 DitherType;
التاريخ والوقت DriverDate؛
سلسلة DriverVersion؛
خطأ منطقي؛
وصف سلسلة الخطأ؛
uint32 ICMintent;
uint32 ICMmethod;
سلسلة InfFilename؛
سلسلة InfSection؛
التاريخ والوقت تاريخ التثبيت؛
سلسلة InstalledDisplayDrivers؛
uint32 LastErrorCode;
uint32 MaxMemorySupported;
uint32 MaxNumberControlled;
uint32 MaxRefreshRate;
uint32 MinRefreshRate;
أحادية اللون منطقية؛
اسم السلسلة؛
uint16 NumberOfColorPlanes;
uint32 NumberOfVideoPages;
سلسلة PNPDeviceID؛
uint16 PowerManagementCapabilities[];
Boolean PowerManagementSupported؛
uint16 بروتوكول مدعوم؛
uint32 ReservedSystemPaletteEntries;
uint32 SpecificationVersion;
حالة السلسلة؛
uint16 StatusInfo;
سلسلة SystemCreationClassName؛
سلسلة اسم النظام؛
uint32 SystemPaletteEntries;
datetime TimeOfLastReset;
uint16 VideoArchitecture;
uint16 VideoMemoryType;
uint16 VideoMode;
سلسلة VideoModeDescription؛
سلسلة معالج الفيديو؛
};
بطاقة الصوت، الخ.
فئة Win32_SoundDevice: CIM_LogicalDevice
{
uint16 التوفر؛
تسمية توضيحية للسلسلة؛
uint32 ConfigManagerErrorCode;
boolean ConfigManagerUserConfig;
سلسلة CreationClassName؛
وصف السلسلة؛
سلسلة معرف الجهاز؛
uint16 DMABufferSize;
خطأ منطقي؛
وصف سلسلة الخطأ؛
التاريخ والوقت تاريخ التثبيت؛
uint32 LastErrorCode;
الشركة المصنعة للسلسلة؛
uint32 MPU401Address;
اسم السلسلة؛
سلسلة PNPDeviceID؛
uint16 PowerManagementCapabilities[];
Boolean PowerManagementSupported؛
سلسلة اسم المنتج؛
حالة السلسلة؛
uint16 StatusInfo;
سلسلة SystemCreationClassName؛
سلسلة اسم النظام؛
};
فئة Win32_PrintJob: CIM_Job
{
تسمية توضيحية للسلسلة؛
نوع بيانات السلسلة؛
وصف السلسلة؛
وثيقة السلسلة؛
اسم برنامج تشغيل السلسلة؛
التاريخ والوقت المنقضي؛
سلسلة HostPrintQueue؛
التاريخ والوقت تاريخ التثبيت؛
uint32 معرف الوظيفة;
سلسلة حالة الوظيفة؛
اسم السلسلة؛
إعلام السلسلة؛
مالك السلسلة؛
uint32 صفحة مطبوعة؛
معلمات السلسلة؛
معالج طباعة السلسلة؛
أولوية uint32؛
حجم uint32؛
التاريخ والوقت وقت البدء؛
حالة السلسلة؛
uint32 StatusMask;
التاريخ والوقت والوقت المقدم؛
uint32 إجمالي الصفحات؛
التاريخ والوقت حتى الوقت؛
};
يحب
تعيين wmiObjSet = GetObject(winmgmts:{impersonationLevel=impersonate} _).
مثيلات (Win32_PrintJob)
يمكنك الحصول على معلومات مثل قوائم مهام الطباعة
بالنسبة لـ VB، تُستخدم واجهة برمجة التطبيقات (API) في الغالب للحصول على معلومات حول أجهزة وبرامج النظام. الآن يمكننا استخدام WMI لتحقيق أهدافنا بسرعة. على سبيل المثال، سيصبح الحصول على برنامج التشغيل/بطاقة الرسومات/المعلومات المشتركة، وما إلى ذلك، أمرًا مريحًا وفعالاً.