WMI و فیلتر سیاست های گروهی
WMI یک زیرساخت مدیریتی که مدیران شبکه را قادر می کند تا بتوانند اشیاء روی یک شبکه را مانیتور و کنترل کنند. WMI کوتاه شده Windows Management Instrumentation است و در تمامی سیستم عامل های ویندوز قابل استفاده است. از ویندوز 2000 به بعد (شامل ویندوز ME) به صورت پیش فرض روی سیستم عامل نصب است و برای سیستم عامل های قبل از آن امکان نصب آن موجود است. (فقط ویندوز 98 , 95). برای خودکار کردن فرایند های امنیتی، می توان یک برنامه یا اسکریپت WMI نوشت و آن را به صورت Remote یا Local به کار برد.با یک WMI Query می توان سیستم ها را بر حسب مشخصه خاصی از آنها فیلتر کرد. به عنوان مثال مقدار فضای RAM آزاد آنها، سیستم عامل، سرویس پک، نرم افزار های نصب شده و تنظیمات پرینتر آنها. از آنجای که به اکثر صفات هر شیئ در WMI دسترسی وجود دارد، تعداد ویژگی هایی که در WMI Query می توان استفاده کرد مجازا بی نهایت و نا محدود است. WMI Query ها به زبان WMI Query Language یا به اختصار WQL نوشته می شود.
از WMI Query ها می توان برای ساختن یک فیلتر برای اعمال سیاست های گروهی استفاده کرد. فیلتری که با استفاده از WMI برای اعمال سیاست ها استفاده می شود، به اختصار فیلتر WMI گفته می شود. یکی از مثال های خوب برای درک کاربرد این کار سناریوی زیر است:
– با استفاده از Group Policy می توان یک نرم افزار یا یک سرویس پک را Deploy کرد.(همانطوری که در گذشته دیدیم). با فیلتر های WMI می توان مشخص کرد یک سیاست خاص فقط روی سیستم عامل و سرویس پک مشخص اعمال شود. بدون شک در اینجا قصد ندارم به بررسی چگونگی نوشتن یک اسکریپت WMI بپردازم و فقط می خواهم خیلی کوتاه آشنایی با فیلتر ها داشته باشیم. کد زیر، کامپیوتر های با سیستم عامل ویندوز XP سرویس پک 3 را خارج و سایر را فیلتر می کند:
SELECT * FROM Win32_operatingsystem WHERE Caption=”Microsoft Windows XP Professional” AND CSDversion=”Service Pack 3″
حال اگر این Query روی یک GPOs اعمال شود، در زمان پردازش سیاست های گروهی، Query روی سیستم Local بررسی می شود. اگر شرایط Query موجود باشد، GPOs اعمال می شود در غیر این صورت مشابه آنچه در فرآیند پردازش سیاست های گروهی گفته شد اتفاق خواهد افتاد. WMI Query ها هم از یک NameSpace خاص تبعیت می کنند. بسیاری از کلاس های مفید در rootCIMv2 وجود دارند از جمله Win32_OperatingSystem که در اینجا به آن نیاز داریم. به صورت پیش فرض فضای نامی همین انتخاب می شود. با کمی جستجو می توانید مثال های خوبی از نحوه نوشتن Query ها پیدا کنید و به راحتی یک Query دلخواه خود را بنویسید.
برای ساختن یک فیلتر WMI در کنسول Group Policy Managment روی WMI Filters کلیک راست کنید و New را بزنید. در دایلوگ باکس باز شده، نام و توضیحی برای فیلتر بنویسید و سپس در قسمت Queries دکمه ADD را بزنید.Query مورد نظر خود را بنویسید و OK را بزنید. اکنون یک Query اضافه کردید. حال باید معین کنید که کدام سیاست تحت تاثیر یان فیلتر اعمال شود. برای این کار در قسمت GPOs That Use This WMI Filter کلیک راست کنید و ADD را بزنید. سیاست مورد نظر خود را انتخاب کنید و آن را اضافه کنید. توجه داشته باشید که در کامپیوتر های که روی آنها WMI نصب نشده باشد، از پردازش سیاست هایی که روی آنها فیلتر WMI موجود باشد چشم پوشی می شود حتی اگر جواب Query برای آن ها True باشد، از آنجا که قادر به درک WMI نیستند، سیاست را در نظر نمی گیرند. زمان بازسازی سیاست های گروهی را فراموش نکنید هر 90 تا 12 دقیقه قدری بر عملکرد سیستم ها اضافه می شود. در واقع فیلتر WMI باری هر چند نه چندان قابل توجه روی سیستم خواهد گذاشت و بدون شک در زمان پردازش و تعداد فرآیند ها در پردازش موثر است. پس بیهوده از فیلتر استفاده نکنید، فیلتر کردن آخرین راه حل است.