Windows Management Instrumentation (WMI) হল মাইক্রোসফটের একটি স্পেসিফিকেশন সেট যা উইন্ডোজ কম্পিউটিং সিস্টেম থেকে নেটওয়ার্কে ডিভাইস এবং অ্যাপ্লিকেশনের ম্যানেজমেন্ট সমेकিত করতে সাহায্য করে। WMI ব্যবহারকারীদের লোকাল বা রিমোট কম্পিউটার সিস্টেমের স্ট্যাটাস সম্পর্কে তথ্য প্রদান করে।
WMI-এর উদ্দেশ্য হল অ্যাডমিনিস্ট্রেটরদের বিভিন্ন উইন্ডোজ অপারেশনাল এনভায়রনমেন্ট, রিমোট সিস্টেম সহ, ম্যানেজ করতে সাহায্য করা। WMI-এর একটি বড় সুবিধা হল এটি এন্টারপ্রাইজ নেটওয়ার্ক কম্পোনেন্টের মেইনটেনেন্স এবং ম্যানেজমেন্ট খরচ কমায়।
WMI মাইক্রোসফটের новীনতম অপারেটিং সিস্টেমগুলো প্রি-ইন্সটলড থাকে। বিক্রেতা WMI Command Line (WMIC) নামে WMI-এর জন্য একটি কমান্ড-লাইন ইন্টারফেস (CLI) প্রদান করল উইন্ডোজ ১০-এর আগের OS-গুলোর জন্য। WMIC এই পুরনো উইন্ডোজ সংস্করণগুলোর বিদ্যমান শেল এবং ইউটিলিটি কমান্ডের সাথে সামঞ্জস্যপূর্ণ।
WBEM-এর একটি ইমপ্লিমেন্টেশন হিসেবে WMI
WMI হল মাইক্রোসফটের Web-Based Enterprise Management (WBEM) 이নিশিয়েটিভের ইমপ্লিমেন্টেশন সমর্থিত উইন্ডোজ প্ল্যাটফর্মের জন্য। WBEM একটি উদ্যোগ-ব্যাপী উদ্যোগ যা ম্যানেজমেন্ট ইনফ্রাস্ট্রাকচার স্ট্যান্ডার্ড ডেভেলপ করতে বিভিন্ন হার্ডওয়্যার এবং সফ্টওয়্যার ম্যানেজমেন্ট সিস্টেম থেকে তথ্য অ্যাক্সেস ও একত্রিত করতে একটি এন্টারপ্রাইজ IT এনভায়রনমেন্টে।
WBEM Common Information Model (CIM) স্কিমার ওপর নির্মিত, যা ডিভাইস এবং অ্যাপ্লিকেশনের বৈশিষ্ট্য সংজ্ঞায়িত করার জন্য কম্পিউটার উদ্যোগের একটি স্ট্যান্ডার্ড। CIM সিস্টেম অ্যাডমিনিস্ট্রেটর এবং ম্যানেজমেন্ট প্রোগ্রামগুলো একাধিক ম্যানufacturer বা সোর্স থেকে ডিভাইস এবং অ্যাপ্লিকেশন নিয়ন্ত্রণ করতে সক্ষম করে। এটি DMTF (প্রাক Distributed Management Task Force) দ্বারা চালিত।
WMI-তে গভীরে গোতা
WMI ব্যবহারকারীদের 엔্টারপ্রাইজ নেটওয়ার্কে উইন্ডোজ অপারেশন, কনফিগারেশন এবং স্ট্যাটাসের একটি কনসিস্টেন্ট মডেল প্রদান করে। এটি একটি COM API প্রদান করে যা লোকাল বা রিমোট কম্পিউটার সিস্টেমের স্ট্যাটাস সম্পর্কে ম্যানেজমেন্ট তথ্য অ্যাক্সেস করতে দেয়। রিমোট WMI কানেকশন Distributed Component Object Model (DCOM) এর মাধ্যমে করা হয়।
একটি WMI টুলকিট Windows Driver Model-এর বিভিন্ন এক্সটেনশন প্রদান করে। এই মডেল গুরুত্বপূর্ণ তথ্য এবং বিভিন্ন ধরনের নোটিফিকেশনের জন্য একটি অপারেটিং সিস্টেম ইন্টারফেস প্রদান করে।
ডেভেলপার এবং IT অ্যাডমিনিস্ট্রেটররা WMI স্ক্রিপ্ট বা অ্যাপ্লিকেশন লিখতে পারে রিমোট কম্পিউটারে প্রশাসনিক কাজ অটোমেট করতে। এই স্ক্রিপ্ট বা অ্যাপ্লিকেশন তৈরি করার জন্য কোনো নির্দিষ্ট সফ্টওয়্যার ডেভেলপমেন্ট কিট (SDK) ডাউনলোড বা ইনস্টল করার দরকার নেই। ম্যানেজমেন্ট অ্যাপ্লিকেশন বা স্ক্রিপ্ট WMI-এর মাধ্যমে প্রোগ্রামিং ভাষার разновеরণে অপারেশন انجام করতে পারে বা ডেটা পেতে পারে।
স্ক্রিপ্ট সমর্থনের পাশাপাশি, WMI অন্য অপারেটিং সিস্টেমের অংশ এবং পণ্যগুলোকেও ম্যানেজমেন্ট ডেটা সরবরাহ করে, যার মধ্যে Microsoft System Center Operations Manager (SCOM) এবং Windows Remote Management (WinRM)।
WMI নিম্নলিখিত অ্যাকশনগুলো সমর্থন করে:
- সিকিউরিটি সেটিংস কনফিগারেশন
- সিস্টেম প্রপার্টি সেট এবং পরিবর্তন
- অনুমোদিত ব্যবহারকারী এবং ব্যবহারকারী গ্রুপের পারমিশন সেট এবং পরিবর্তন
- ড্রাইভ লেবেল বরাদ্দ এবং পরিবর্তন
- নির্দিষ্ট সময়ে প্রসেস শিডিউল করা
- অবজেক্ট রিপোজিটরি ব্যাকআপ করা
- এরর লগিং সক্ষম বা অক্ষম করা
Windows Management Instrumentation আর্কিটেকচার
WMI একটি ইউনিফর্ম ইন্টারফেস প্রদান করে যাতে WMI ক্লায়েন্ট অ্যাপ্লিকেশন এবং স্ক্রিপ্টগুলো একাধিক সিস্টেম API কল করতে না পড়ে। এছাড়া, এর নমনীয় এবং এক্সটেনসিবল আর্কিটেকচার নতুন ডিভাইস, অ্যাপ্লিকেশন এবং অন্যান্য এনহ্যান্সমেন্টের জন্য সমর্থন প্রদান করে।
WMI আর্কিটেকচারের তিনটি মূল উপাদান হল:
- ম্যানেজমেন্ট ইনফ্রাস্ট্রাকচার
- CIM Object Manager (CIMOM), যা অ্যাপ্লিকেশনগুলো ম্যানেজমেন্ট ডেটা অ্যাক্সেস করার একটি ইউনিফর্ম পদ্ধতি দেয়
- CIMOM অবজেক্ট রিপোজিটরি, ম্যানেজমেন্ট ডেটার জন্য একটি কেন্দ্রীয় স্টোরেজ এলাকা
- WMI প্রোভাইডার
- CIMOM এবং ম্যানেজড অবজেক্টের মধ্যে মধ্যস্থ
- প্রধান ফাংশন:
- WMI API-ها ম্যানেজড অবজেক্ট থেকে ডেটা CIMOM-এ সরবরাহ করে
- ম্যানেজমেন্ট অ্যাপ্লিকেশনের বিনিময় অনুরোধ হ্যান্ডেল করে
- ইভেন্ট নোটিফিকেশন জেনারেট করে
- WMI কনসিউমার
- ম্যানেজমেন্ট অ্যাপ্লিকেশন, স্ক্রিপ্ট যা WMI ইনফ্রাস্ট্রাকচারের সাথে ইন্টারঅ্যাক্ট করে:
- কোয়েরি, ডেটা এনুমারেট
- প্রোভাইডার মেথড চালান
- ইভেন্ট সাবস্ক্রাইব
Windows Management Instrumentation কম্পোনেন্ট
প্রধান WMI কম্পোনেন্টগুলো হল:
- ম্যানেজড অবজেক্ট: অবজেক্ট হল যেকোনো ফিজিক্যাল এন্টিটি/কম্পোনেন্ট বা সার্ভিস যা WMI-এর মাধ্যমে ম্যানেজ করা হয়, যেমন হার্ড ডিস্ক ড্রাইভ, নেটওয়ার্ক অ্যাডাপ্টার বা OS।
- WMI প্রোভাইডার: Component Object Model (COM) অবজেক্ট যা WMI-এর জন্য এক বা একাধিক ম্যানেজড অবজেক্ট মনিটর করে।
- WMI ইনফ্রাস্ট্রাকচার: একটি উইন্ডোজ অপারেটিং সিস্টেম কম্পোনেন্ট যা WMI Core এবং WMI Repository নিয়ে গঠিত।
- WMI রিপোজিটরি: CIMOM দ্বারা পরিচালিত এবং WMI नेमস্পেস দ্বারা সংগঠিত একটি কেন্দ্রীয় স্টোরেজ এলাকা যা অবজেক্ট সম্পর্কে স্ট্যাটিক ডেটা সংরক্ষণ করে, যেমন WMI প্রোভাইডার দ্বারা সংজ্ঞায়িত ক্লাস।
- WMI সার্ভিস: ম্যানেজমেন্ট অ্যাপ্লিকেশন (প্রোভাইডার) এবং WMI রিপোজিটরির মধ্যে মধ্যস্থের ভূমিকা পালন করে।
- WMI কনসিউমার: একটি ম্যানেজমেন্ট অ্যাপ্লিকেশন বা স্ক্রিপ্ট যা COM API for WMI বা স্ক্রিপ্টিং API for WMI কল করে কোয়েরি পাঠায়।
অ্যাডমিনরা WMI কীভাবে ব্যবহার করে?
অ্যাডমিনিস্ট্রেটররা সব উইন্ডোজ-ভিত্তিক অ্যাপ্লিকেশনে WMI ব্যবহার করতে পারে। এটি এন্টারপ্রাইজ অ্যাপ্লিকেশন এবং প্রশাসনিক স্ক্রিপ্টে বিশেষভাবে কার্যকর। WMI-এর জনপ্রিয় ব্যবহারগুলো হল:
- রিমোট কম্পিউটার ম্যানেজ করা
- অ্যাপ্লিকেশনগুলির মধ্যে ম্যানেজমেন্ট তথ্য শেয়ার করা
- যেকোনো সোর্স থেকে ম্যানেজমেন্ট ডেটা একই পদ্ধতিতে অ্যাক্সেস করা
- উইন্ডোজ-ভিত্তিক সিস্টেম এবং নেটওয়ার্ক মনিটর করা
- এন্টারপ্রাইজ নেটওয়ার্ক জুড়ে এক্টিভিটি মনিটর করা যুজার এন্টিটি বিহেভিওর অ্যানালিটিক্স (UEBA) সিস্টেমের অংশ হিসেবে
- অসামঞ্জস্যপূর্ণ ইভেন্ট এবং সম্ভাব্য সন্দেহজনক আচরণ মনিটর করা, এবং ইনসাইডার হুমকি চেক করা
WMI কোয়েরি চালানো
WMI কোয়ারি চালানোর সবচেয়ে সহজ উপায় হল স্ট্যান্ডার্ড উইন্ডোজ কমান্ড প্রম্পটে WMIC চালানো:
- কমান্ড প্রম্পট খুলুন।
- WMIC টাইপ করুন এবং এন্টার চাপুন প্রোগ্রাম আহ্বান করার জন্য।
- WMIC কমান্ড প্রম্পট খুললে, ভিন্ন WMI কোয়ারি চালান এবং আউটপুট হিসেবে প্রয়োজনীয় তথ্য পান।
- ফলাফল কমান্ড প্রম্পটে প্রদর্শিত হবে।
WMI সার্ভিস শুরু ও বন্ধ করা
winmgmt.exe সার্ভিস WMI-কে লোকাল কম্পিউটারে চালানোর অনুমতি দেয়। WMI সিস্টেম স্টার্টআপ-এ অটোমেটিক্যালি শুরু হয় বা এটি প্রথম ম্যানেজমেন্ট/মনিটরিং অ্যাপ্লিকেশন বা স্ক্রিপ্ট WMI নেমস্পেসের সাথে কানেকশন খুঁজে পেলে অটোমেটিক্যালি শুরু হয়।
WMI সার্ভিস শুরু করতে:
- কমান্ড প্রম্পটে নেভিগেট করুন
- net start winmgmt[/<switch>] লিখুন
- WMI সার্ভিসের উপর নির্ভর করে, কিছু সার্ভিস অটোমেটিক্যালি শুরু হবে না
WMI সার্ভিস বন্ধ করতে:
- কমান্ড প্রম্পটে নেভিগেট করুন
- net stop winmgmt লিখুন
নোট: WMI সার্ভিস বন্ধ করলে, সব ডিপেন্ডেন্ট সার্ভিসও বন্ধ হয়ে যাবে।
Windows Management Infrastructure
WMI-এর বর্তমান पीড়ি যেনে Windows Management Infrastructure (MI) নামে পরিচিত। MI API-তে ইন্টারফেস, এনুমারেশন, স্ট্রাকচার এবং ইউনিয়ন রয়েছে যা ডেভেলপারদের নেটিভ WMI প্রোভাইডার এবং ক্লায়েন্ট তৈরি করার জন্য দরকার। মাইক্রোসফট অনুযায়ী, WMI পুরনো WMI সংস্করণের সাথে পূর্ণরূপে সামঞ্জস্যপূর্ণ, অর্থাৎ MI ফ্রেমওয়ার্ক ব্যবহার করে লেখা নতুন সংস্করণ WMI স্ক্রিপ্ট এবং অ্যাপ্লিকেশন ব্যবহার করে অ্যাক্সেস করা যাবে।