نماد سایتنماد سایت بلاگ ایران هاست

تنظیمات و کاربرد WMI در IIS 7.5

WMI یک API در سیستم عامل ویندوز است که در ارتباطات شبکه ای، امکان مدیریت و کنترل منابع را برای شما فراهم می کند. WMI می‌تواند از طریق هر زبان برنامه نویسی و اسکریپت تحت ویندوز که توانایی کار کردن با ActiveX ها را داشته باشد، قابل دسترسی باشد. این فن آوری بطور پیش‌فرض بر روی ویندوزهای Millennium به بالا (۲۰۰۰, XP, Server 2003) نصب شده است.

ابزار مدیریت ویندوز (Windows Management Instrumentation) که به اختصار WMI نامیده می شود، مجموعه ای از ویژگی های ویندوز جهت یکپارچه سازی مدیریت ابزار و برنامه های موجود در یک شبکه می باشد. به بیان دیگر WMI، پیاده سازی مایکروسافت از ” مدیریت سازمانی مبتنی بر وب ”  (Web-Based Enterprise Management) یا به اختصار WBEM می باشد. WBEM یک استاندارد صنعتی کامپیوتری برای بیان ویژگی های ابزار و برنامه ها است که بواسطه ی آن مدیران سیستم و برنامه های مدیریتی، توانایی کنترل ابزار و برنامه ها را دارند.

استاندارد WBEM چیست؟

استاندارد WBEM شامل یک مدل اطلاعاتی مشترک (Common Information Model) یا به اختصار CIM برای بیان اطلاعات مدیریتی مربوط به سیستمها، برنامه ها، شبکه ها، ابزار و سرویسها می باشد. در واقع CIM یک پایگاه داده است که اطلاعات و تعاریف مدیریتی مربوط به سیستمها، برنامه ها، شبکه ها و … در آن ذخیره می شود. WMI، کاربران را بهمراه اطلاعات مربوط به وضعیت سیستمهای کامپیوتری Local یا Remote بیان می کند. WMI ماهیتاً یک API در سیستم عامل ویندوز است که در ارتباطات شبکه ای امکان مدیریت و کنترل منابع را برای شما فراهم می کند. API مخفف رابط برنامه کاربردی (Application Programming Interface) است. API در واقع  مجموعه ای از روال ها، پروتکل ها و ابزار برای ساخت برنامه های کاربردی نرم افزاری است. یک API مناسب، توسعه یک برنامه را با ساخت بلوک های برنامه نویسی فراهم می کند. سپس برنامه نویس، بلوک های برنامه نویسی را کنار هم قرار می دهد. اکثر سیستم عامل های مانند ویندوز، API را برای برنامه نویسان جهت سازگاری برنامه هایشان با سیستم عامل فراهم میکنند. اگرچه رابط های برنامه کاربردی (API) برای برنامه نویسان طراحی شده است، ولی آنها در نهایت برای کاربران نیز مفید هستند. زیرا آنها رابط های مشابه را برای تمام برنامه ها توسط یک API مشترک، تضمین می کنند که این امر باعث سهولت یادگیری برنامه های جدید توسط کاربران نیز می شود. WMI می‌تواند از طریق هر زبان برنامه نویسی و اسکریپت تحت ویندوز که توانایی کار کردن با ActiveX ها را داشته باشد، قابل دسترسی باشد. این فن آوری بطور پیش‌فرض بر روی ویندوزهای Millennium به بالا (۲۰۰۰, XP, Server 2003) نصب شده است.

ساختار WMI به چه شکل است؟

هدف WMI، ایجاد یک رابط واحد و یکسان برای برنامه ها یا اسکریپت ها جهت ارتباط و دسترسی بصورت محلی یا از راه دور به اطلاعات مدیریتی یک سیستم ، شبکه یا برنامه است. با استفاده از WMI ها ، نیازی نیست که برنامه‌ ها برای ارتباط با همدیگر ، با لیست وسیعی از API های سیستم عاملی که بعضاً ممکن است با همدیگر ناسازگار هم باشند، مواجه شوند. همه رابط های WMI بر پایه COM بنا شده‌اند و البته در NET . هم توسط COM Interop قابل دسترسی هستند.

 تعریف مدل های COM  و COM Interop :

COM که کوتاه شده Component Object Model است، یک فن آوری معرفی شده توسط مایکروسافت می‌باشد که اجزاء نرم‌افزارها در مکان های گوناگون حافظه یا شبکه (DCOM) را قادر به ارتباط با یکدیگر می سازد. به بیان دیگر، COM مدلی است که ارتباط و تعامل زبان‌های برنامه نویسی گوناگون را میسر می نماید.  البته لازم به ذکر است که زبان برنامه نویسیNet . از COM Interop که یک  فن آوری معرفی شده توسطNET CLR . است جهت تعامل و ارتباط اشیاء COM با اشیاء NET . بهره می گیرد.

بخشهای اصلی WMI عبارتند از:

  1. Management Objects and Providers:

  WMI Provider یک جزء نرم افزاری است که به عنوان میانجی بین مدیر آبجکت   CIM Object Manager) CIM ) و اشیاء مدیریت شده (Managed Objects)، عمل می کند. با استفاده از API هایWMI ،پروایدر ها مدیر آبجکت CIM را با داده ها یی از اشیاء مدیریت شده تامین می کنند. Provider ها مسئولیت رسیدگی به درخواست از طرف برنامه های مدیریتی و تولید Event Notification ها را برعهده دارند. این اشیاء مدیریت شده می‌توانند اجزای Physical یا Logical مانند یک  Hard Drive،  Network Adapter ، Database System ، Operating System ، Process  و یا یک Application باشند.

  1. WMI Infrastructure:

WMI دربرگیرنده Windows Management Service است که حاوی WMI Core و WMI Repository می باشد. این سرویس بعنوان یک واسط بین Provider ها و Repository عمل می کند. اکثر کلاس‌های پروایدر ها در فایل‌های Management Object Format تعریف شده‌اند و سپس در WMI Repository کامپایل می‌شوند و فقط یک سری داده‌های استاتیک درباره آبجکت ها مانند کلاس‌هایی که توسط پروایدرها تعریف شده‌اند درون Repository قرار گرفته است. پروایدرها یک فایل dll هم دارند که حاوی کدی است که برای پیاده‌سازی کلاس‌ها به آن نیاز دارند.

  1. Management Applications and Scripts:

برنامه‌های مدیریت می‌توانند روش‌هایی را جهت فرمان دادن به یک شیء مدیریت شده و یا تنظیم دوباره آن شیء، فراخوانی کنند که این کار را توسط API های مربوط به WMI و یا  یک اسکریپت که می‌توانند از طریق  COM  باشد، انجام می دهند.

کاربرد WMI

WMI یک زیرساخت برای داده های مدیریتی (که در واقع فیلد های پایگاه داده CIM هستند) و عملیات روی سیستم عامل های مبتنی بر ویندوز است. شما می توانید اسکریپتها یا برنامه های WMI را جهت خودکار نمودن وظایف اجرائی (Administrative Tasks) کامپیوتر های remote بنویسید . WMI داده های مدیریتی را برای قسمت های دیگر سیستم عامل مانند System Center Operations Manager نیز فراهم می کند. یکی از کاربردهایی که WMI برای شما دارد، انجام خودکار عملکرد های مدیریتی روی سیستم های Remote از طریق نوشتن یک اسکریپت یا برنامه است. همچنین WMI داده هایی را برای قسمت های مختلف سیستم عامل و نیز برنامه های مختلف تهیه می کند، برای نمونه  برنامه هایی مانند System Center Operating Manager و Windows Remote Manager برنامه هایی هستند که از داده های WMI بهره می برند. امکان بهره وری از WMI در تمامی برنامه های تحت سیستم عامل Windows و کلیه اسکریپت ها و برنامه های مدیریتی در ابعاد سازمانی وجود دارد. برنامه نویس هایی که با زبان های برنامه نویسی گوناگون از قبیل: C++ /C و Visual Basic و … کار می کنند،  یا با زبان های اسکریپتی که به هر شکل یک Engine روی ویندوز دارند و یا از Microsoft ActiveX Object ها بهره می برند، از جمله استفاده کنندگان WMI می باشند.

WMI امکان گرفتن جستار (Query) های مختلف و انجام تنظیمات Workstation ها را برای مدیران شبکه میسر می سازد. با یک WMI Query می توان سیستم ها را بر حسب مشخصه خاصی از آنها فیلتر کرد، بعنوان مثال مقدار فضای آزاد RAM آنها، نوع سیستم عامل، سرویس پک، نرم افزارهای نصب شده و تنظیمات چاپگر آنها. از آنجا که دسترسی به اکثر ویژگی های هر شیء در WMI ممکن می باشد، تعداد ویژگی هایی که در WMI Query می توان استفاده کرد مجازاً نامحدود است. WMI Query ها به زبان WMI Query Language یا به اختصار WQL نوشته می شوند. به بیان دیگر، WMI یک زیر ساخت مدیریتی است که امکان مانیتور و کنترل اشیاء روی یک شبکه را برای مدیران شبکه فراهم می کند. WMI در تمامی سیستم عامل های ویندوز قابل استفاده است که از ویندوز ۲۰۰۰ به بعد (شامل ویندوز ME) به صورت پیش فرض روی سیستم عامل نصب است و برای سیستم عامل های ورژن قبل از آن نیز امکان نصبش فراهم است.

[irp posts=”۶۸۳۵″ name=”مدیریت سطح دسترسی کاربران به سایت از طریق ماژول .Net Authorization Rule در IIS 7.5″]

تنظیمات WMI

مراحل زیر عموماً شامل تمام تغییرات لازم جهت فعّال سازی WMI می باشد (مرحله ی ب در بعضی شرایط ممکن است لازم باشد):

الف) فعّال سازی درخواست های از راه دور WMI:

۱)      در سرور مربوطه، به قسمت Administrative Tools رفته و روی Computer Management کلیک کنید.

۲)      گره ی Services and Applications را باز کنید.

۳)      روی WMI Control کلیک راست کنید و Properties را  انتخاب کنید.

۴)      در پنجره ظاهر شده زبانه ی Security را انتخاب کنید

۵)      دکمه ی Security در زبانه ی Security را انتخاب کنید.

۶)      کاربر مانیتورینگ را (در صورت نیاز) اضافه کنید و از فعال بودن گزینه ی Remote Enable برای کاربر / گروه کار برانی که داده های WMI را درخواست می کنند، اطمینان حاصل کنید.

ب) تنظیمات WMI از طریق Windows Firewall:

تمامی کاربران (شامل کاربران non-administrators ) توانایی خواندن / جستار (Query) داده های WMI در کامپیوتر Local را دارا می باشند. برای خواندن داده های WMI روی Remote Server ، نیاز به ارتباط از کامپیوتر محلی (که نرم افزار مانیتورینگ روی آن نصب است)  به سرور هدف می باشد. اگر در سرور هدف Windows Firewall (فایروال ارتباط اینترنتی aka) در حال اجرا باشد، برای ارائه مجوز جهت ارسال درخواست های از راه دور WMI  لازم است در Command Prompt سرور هدف دستور زیر را تایپ کنیم.

اگر درباره مجوزهای تعیین شده در ویندوز فایروال اطلاعاتی ندارید، پیشنهاد می کنیم مقاله “آموزش تنظیمات Windows Firewall” را مطالعه نمایید.

 [pre]netsh firewall set service RemoteAdmin enable[/pre]

خروج از نسخه موبایل