التنبيهات التالية ظهرت :
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 864 - File: showthread.php PHP 7.4.33 (Linux)
File Line Function
/showthread.php 864 errorHandler->error



تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
Windows Management Instrumentation - WMI
#1
كاتب الموضوع : samerselo


- في البداية ليست لدي خبرة كبيرة في التعامل مع هذه الفئات لذا اعتبروا هذا الموضوع بداية للمناقشة بيننا جميعا في هذه الفئات ويمكن يكون الكود الوحيد الفعلي لي مستخدما هذه الأدوات هو ماورد في موضوعي حول تعقب أقراص USB

- ثانيا للتعامل مع هذه الفئات لمن يعملون على ويندوز فيستا يجب أن يشغلوا كودهم بصلاحيات مدير وهذا الموضوع قمت بتغطيته سابقا في مواضيع خاصة بهذا الغرض

- ثالثا سأقوم بنقل ملخص للموضوع الأساسي حول هذه الفئات وهو للأخ HAZZOOM في منتدى الفريق العربي للبرمجة


بسم الله نبدأ




السلام عليكم ورحمة الله وبركاته

من فتره كبيره يمكن من منذ بداية تعلمي للدوت نت , احتفظت بكود يقوم بجلب السريال بتاع الهارد علي أمل ان الواحد ممكن يحتاجه وطبعا مكنتش فاهم منه حاجه :


كود :
Dim HDinformation As New ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia")
Dim HD As ManagementObject
For Each HD In HDinformation.Get()
MsgBox(HD("SerialNumber").ToString())
Next
قلت ألقي نظره علي الكود ده اللي محتفظ بيه من مده , وطبعا أنا لم أتعامل مع هذه الـ Management Namespace في الدوت نت قبل كده , فبدأت أبحث في الـ MSDN والكتب اللي عندي عن أي شئ يفيدني علشان أفهم الحوار ده ماشي ازاي , وفعلا قضيت اليوم بكامله علشان أفهم ..., بس مش علشان أفهم الكود ده (الكود سهل وبسيط) , لكن قضيت اليوم كله علشان أفهم الـ WMI , CIM وهي اختصارا للمصطلحات الـ Windows Management Instrumentaion و الـ component Information Model , صحيح مفهمتش 100% ولاحتي 75% لكن يعني الي حد ما فهمت ما علاقه هذه المصطلحات ببعضها , وقلت أكتب فيهم درس صغير علي قدي حتي علشان تثبت المعلومات في دماغي , لأن الموضوع طلع كبير جدا ومش سهل ,

قبل الدخول في شرح الكود السابق .. يجب معرفة معني المفاهيم التي ذكرناها ,

كود :
CIM (Common Information Model) :
هي عباره عن نموذج يحتوي علي معلومات مثل معلومات عن الـ Hard Disk و الـ Bios و الـ Processor و الـ Applications و الـ Network والـ Devices وغيرها ..., وهي تتألف منNamespaces, Classes لها خصائص كائنية التوجه مثل الـ Inheritance, Polymorphism ,


كود :
WMI (Windows Management Instrumentation) :
هي عباره عن جزء من النظام يمكنك من استخدام الـ CIM للتعامل مع المعلومات التي تقدمها , أي انها هي الصوره التي تمكن المبرمج من استخدام الـ CIM وذلك بعدة طرق كالآتي :


كود :
COM API for WMI :C or C++ applications
Scripting API for WMI : 1 - Scripting Languages like : VBS , JS , ActiveX script hosting
2 - Visual BASIC .
3 - Active Server Pages.
.NET Framework applications written in C#, Visual BASIC .NET, or J# : System .Management.
وبالتأكيد يكون التعامل مع هذه المعلومات التي يقدمها النموذج أفضل باستخدام الـ COM API ولكنه ليس الطريق السهل , أما عن الطريق الثاني Scripting API فهو فعلا الطريق السهل ولكنه بالتأكيد ليس بقوة الطريق الأول , ولحسن الحظ قامت ميكروسوفت بتقديم حل يغني عن الطريقين السابقين ويتمثل في الـ Management Namespace ,


كود :
WQL (WMI Query Language) :
هي لغة استعلام تستخدم لتسهيل التعامل مع المعلومات التي يقدمها الـ WMI باستخدام نموذج الـ CIM ,

الموضوع كبير جدا ولكن باذن الله سأحاول تقديم كل ما أستطيع تقديمه , وللحصول علي معلومات أكثر يمكنك البحث في الـ MSDN ,
}}}
تم الشكر بواسطة:


الردود في هذا الموضوع
Windows Management Instrumentation - WMI - بواسطة Raggi Tech - 01-10-12, 08:06 PM
Windows Management Instrumentation - WMI - بواسطة Raggi Tech - 01-10-12, 08:07 PM
Windows Management Instrumentation - WMI - بواسطة Raggi Tech - 01-10-12, 08:07 PM
Windows Management Instrumentation - WMI - بواسطة Raggi Tech - 01-10-12, 08:09 PM
Windows Management Instrumentation - WMI - بواسطة Raggi Tech - 01-10-12, 08:09 PM


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم