PowerShell-এ Get-WmiObject এবং CIM Cmdlets হল এমন কমান্ডলেট যা আপনাকে উইন্ডোজ ম্যানেজমেন্ট ইনস্ট্রুমেন্টেশন (WMI) এবং কমন ইনফ্রাস্ট্রাকচার ম্যানেজমেন্ট (CIM) সিস্টেমের তথ্য অ্যাক্সেস করতে সহায়তা করে। এগুলি ব্যবহৃত হয় সিস্টেম প্রশাসন, ডিভাইস ইনফরমেশন, সফটওয়্যার স্ট্যাটাস, এবং অন্যান্য হার্ডওয়্যার সম্পর্কিত তথ্য পাওয়ার জন্য। WMI এবং CIM হল Microsoft-এর প্রোটোকল যা সিস্টেম রিসোর্সের ইনফরমেশন সংগ্রহ করতে ব্যবহৃত হয়।
WMI (Windows Management Instrumentation)
WMI হল একটি Microsoft প্রযুক্তি যা কম্পিউটার সিস্টেম, অপারেটিং সিস্টেম এবং নেটওয়ার্ক উপাদানগুলোর সম্পর্কে ইনফরমেশন সংগ্রহ ও ম্যানেজ করার জন্য ব্যবহৃত হয়। এটি সাধারণত Win32_Classes-এর মধ্যে ডেটা সংরক্ষণ করে এবং বিভিন্ন ক্লাসের মাধ্যমে অ্যাক্সেস করা হয়।
Get-WmiObject কমান্ডলেটটি WMI ক্লাসের ডেটা পাওয়ার জন্য ব্যবহার করা হয় এবং এটি Windows সিস্টেমের বিভিন্ন কম্পোনেন্ট থেকে তথ্য বের করতে সক্ষম। এই কমান্ডলেটটি WMI ক্লাসের মাধ্যমে ডেটা রিটার্ন করে, যা একাধিক সিস্টেম ইনফরমেশন যেমন প্রোসেস, ডিস্ক, নেটওয়ার্ক, এবং হার্ডওয়্যার ডিভাইসের তথ্য সরবরাহ করে।
Get-WmiObject ব্যবহারের উদাহরণ:
CPU ইনফরমেশন দেখানো:
Get-WmiObject -Class Win32_Processorএটি Win32_Processor ক্লাস থেকে CPU সম্পর্কিত ইনফরমেশন প্রদর্শন করবে যেমন মডেল, স্পিড, কোর সংখ্যা ইত্যাদি।
সিস্টেম ইনফরমেশন দেখানো:
Get-WmiObject -Class Win32_ComputerSystemএটি কম্পিউটার সিস্টেম সম্পর্কিত ইনফরমেশন দেখাবে, যেমন মেমরি সাইজ, মাদারবোর্ড, এবং সিস্টেমের প্রোফাইল।
সার্ভিসেস চেক করা:
Get-WmiObject -Class Win32_Serviceএটি সিস্টেমের সমস্ত সেবা (services) এর স্ট্যাটাস দেখাবে (যেমন চলমান বা বন্ধ)।
ড্রাইভ স্টেটাস দেখা:
Get-WmiObject -Class Win32_LogicalDiskএটি সিস্টেমের বিভিন্ন ডিস্কের তথ্য দেখাবে, যেমন ডিস্কের সাইজ, ফ্রি স্পেস, এবং ফাইল সিস্টেম।
CIM (Common Information Model)
CIM হল একটি আরও আধুনিক প্রযুক্তি যা WMI এর একটি উন্নত সংস্করণ এবং এটি WS-Man প্রোটোকল ব্যবহার করে রিমোট সিস্টেম থেকে তথ্য সংগ্রহ করতে সক্ষম। CIM-এর সাহায্যে আপনি remote management এবং cross-platform সিস্টেমে ব্যবহৃত ডেটা সংগ্রহ করতে পারেন।
CIM Cmdlets সাধারণত CIM Cmdlet হিসেবে পরিচিত, এবং এগুলি Get-CimInstance এবং Set-CimInstance কমান্ডলেট দ্বারা পরিচালিত হয়। CIM WMI এর চেয়ে অধিক কার্যকরী এবং দ্রুত।
Get-CimInstance ব্যবহারের উদাহরণ:
CPU ইনফরমেশন CIM এর মাধ্যমে:
Get-CimInstance -ClassName Win32_Processorএটি Win32_Processor ক্লাস থেকে CPU সম্পর্কিত তথ্য রিটার্ন করবে, এবং WMI থেকে তথ্য পাওয়ার তুলনায় এটি আরও দ্রুত এবং সহজ।
সিস্টেম ইনফরমেশন CIM ব্যবহার করে:
Get-CimInstance -ClassName Win32_ComputerSystemএটি সিস্টেম সম্পর্কিত বিস্তারিত তথ্য দেখাবে, যেমন মেমরি সাইজ, সিস্টেমের আর্কিটেকচার এবং মাদারবোর্ড।
সার্ভিস তথ্য CIM ব্যবহার করে:
Get-CimInstance -ClassName Win32_Serviceএটি সমস্ত সিস্টেম সার্ভিস সম্পর্কিত তথ্য প্রদর্শন করবে।
ড্রাইভ ইনফরমেশন CIM দিয়ে:
Get-CimInstance -ClassName Win32_LogicalDiskএটি সিস্টেমের ড্রাইভগুলোর অবস্থা, সাইজ, ফ্রি স্পেস ইত্যাদি তথ্য প্রদর্শন করবে।
WMI এবং CIM Cmdlets এর মধ্যে পার্থক্য
| বিষয় | WMI Cmdlets (Get-WmiObject) | CIM Cmdlets (Get-CimInstance) |
|---|---|---|
| প্রযুক্তি | WMI (Windows Management Instrumentation) | CIM (Common Information Model) |
| প্রোটোকল | DCOM (Distributed Component Object Model) | WS-Man (Web Services-Management) |
| পারফরম্যান্স | তুলনামূলকভাবে ধীর | অধিক দ্রুত এবং কার্যকরী |
| রিমোট ম্যানেজমেন্ট | WMI পোর্ট ব্যবহার করে রিমোট ব্যবস্থাপনা করা যায় | CIM পোর্ট ব্যবহার করে রিমোট ব্যবস্থাপনা করা যায় |
| ক্লাস এবং কনফিগারেশন | WMI এর জন্য একাধিক ক্লাস নির্ধারিত আছে | CIM আধুনিক, ক্রস-প্ল্যাটফর্ম সাপোর্ট করে |
WMI এবং CIM Cmdlets এর সেরা ব্যবহার
- Get-WmiObject:
- Legacy সিস্টেম এবং পুরনো Windows সংস্করণের জন্য ভালো।
- WinRM বা WS-Man প্রোটোকল থেকে রিমোট ম্যানেজমেন্টের তুলনায় এটি ধীর হতে পারে।
- Get-CimInstance:
- নতুন Windows সংস্করণে এবং আধুনিক সিস্টেমে দ্রুত কার্যকরী।
- Cross-platform ব্যবহারের জন্য, যেমন Linux বা macOS-এ ব্যবহৃত PowerShell-এ অধিক কার্যকরী।
সারাংশ
PowerShell-এ Get-WmiObject এবং CIM Cmdlets দুটি গুরুত্বপূর্ণ টুল যা সিস্টেমের ইনফরমেশন সংগ্রহ করতে ব্যবহৃত হয়। Get-WmiObject WMI প্রোটোকল ব্যবহার করে পুরনো সিস্টেমে ইনফরমেশন সংগ্রহ করার জন্য উপযুক্ত, যেখানে Get-CimInstance CIM প্রোটোকল ব্যবহার করে আধুনিক এবং ক্রস-প্ল্যাটফর্ম সিস্টেমে দ্রুত ও কার্যকরীভাবে তথ্য সংগ্রহ করতে সাহায্য করে।
Read more