PowerShell হলো Microsoft এর তৈরি একটি কমান্ড-লাইন শেল এবং স্ক্রিপ্টিং ভাষা, যা বিশেষভাবে সিস্টেম অ্যাডমিনিস্ট্রেশন এবং অটোমেশন কাজের জন্য ডিজাইন করা হয়েছে। এটি প্রথমে Windows এর জন্য তৈরি করা হয়েছিল, তবে বর্তমানে এটি cross-platform এবং Windows, macOS, এবং Linux এ সমানভাবে ব্যবহার করা যায়। PowerShell এর মাধ্যমে আপনি কমান্ড-লাইন থেকে সরাসরি সিস্টেম কনফিগারেশন, ফাইল সিস্টেম ম্যানেজমেন্ট, প্রক্রিয়া পরিচালনা, এবং আরও অনেক ধরনের কাজ করতে পারেন।
PowerShell হলো Microsoft-এর তৈরি একটি কমান্ড লাইন শেল এবং স্ক্রিপ্টিং ভাষা, যা ব্যবস্থাপনা কাজগুলোকে স্বয়ংক্রিয় করার জন্য এবং সিস্টেম অ্যাডমিনিস্ট্রেশন পরিচালনার জন্য ব্যবহৃত হয়। এটি Command Prompt (CMD) এর একটি শক্তিশালী বিকল্প হিসেবে কাজ করে এবং Windows-এর সাথে সিস্টেমের বিভিন্ন উপাদানকে পরিচালনা করা যায়। PowerShell শুধু Windows নয়, এটি Linux এবং macOS-এও সমর্থিত।
PowerShell প্রথমে Microsoft দ্বারা 2006 সালে প্রকাশিত হয়েছিল Windows PowerShell নামে। এর উদ্দেশ্য ছিল সিস্টেম অ্যাডমিনিস্ট্রেশনকে আরও সহজ করা এবং কমান্ড লাইন ভিত্তিক কাজগুলোর স্বয়ংক্রিয়করণ। PowerShell এর আধুনিক সংস্করণ, যাকে আমরা PowerShell Core বলে থাকি, তা 2016 সালে প্রকাশিত হয় এবং এটি Cross-Platform সমর্থন করে, যার মাধ্যমে PowerShell এখন Windows, Linux, এবং macOS-এ চালানো যায়।
PowerShell একটি শক্তিশালী command-line shell, যা দিয়ে সিস্টেমের বিভিন্ন কাজ যেমন ফাইল ম্যানেজমেন্ট, প্রোগ্রাম এক্সিকিউশন, এবং অন্যান্য সিস্টেম সম্পর্কিত কাজ করা যায়।
PowerShell হলো একটি object-oriented শেল, যেখানে প্রতিটি আউটপুট একটি Object। অর্থাৎ, কমান্ডের আউটপুট হিসেবে পাওয়া ডেটার উপর বিভিন্ন প্রোপার্টি এবং মেথড প্রয়োগ করা যায়। এটি PowerShell কে প্রচলিত Text-based Command Shell থেকে আলাদা করে।
PowerShell এর সবচেয়ে বড় বৈশিষ্ট্য হলো Cmdlets। Cmdlets হলো ছোট, বিশেষায়িত কমান্ড, যা PowerShell এর মাধ্যমে এক্সিকিউট করা হয়। PowerShell এ হাজার হাজার বিল্ট-ইন Cmdlets আছে, যেমন:
PowerShell এ pipeline সমর্থিত, যার মাধ্যমে একটি Cmdlet এর আউটপুটকে অন্য Cmdlet এর ইনপুট হিসেবে ব্যবহার করা যায়। এটি Shell এর কার্যকারিতা বাড়ায়।
Get-Process | Where-Object { $_.CPU -gt 100 }
উদাহরণ: উপরোক্ত কমান্ডটি CPU 100% এর বেশি ব্যবহার করছে এমন প্রসেসগুলোকে ফিল্টার করবে।
PowerShell স্ক্রিপ্ট ব্যবহার করে সিস্টেমের বিভিন্ন কাজ স্বয়ংক্রিয় করা যায়। .ps1 ফাইলের মাধ্যমে বিভিন্ন কমান্ড এবং Cmdlets এর সিরিজ লিখে কাজগুলো সহজ করা সম্ভব।
# Example.ps1
Get-Process
Get-Service
PowerShell এর মাধ্যমে Remote Systems পরিচালনা করা যায়, অর্থাৎ, অন্য কোনো কম্পিউটারে লগ ইন না করেও PowerShell এর মাধ্যমে সেই সিস্টেমের কাজগুলো করা সম্ভব।
Enter-PSSession -ComputerName Server01
PowerShell এ বিভিন্ন Module যুক্ত করা যায়, যা নতুন Cmdlets এবং ফাংশনালিটি সরবরাহ করে। উদাহরণস্বরূপ, Azure বা AWS ম্যানেজমেন্টের জন্য নির্দিষ্ট মডিউল রয়েছে।
Cmdlets হলো ছোট ছোট একক কমান্ড, যা PowerShell এ বিভিন্ন কাজ সম্পন্ন করার জন্য ব্যবহৃত হয়। এর নামের ফরম্যাট সাধারণত Verb-Noun আকারে থাকে, যেমন Get-Process, Start-Service ইত্যাদি।
Pipeline PowerShell এর একটি শক্তিশালী ফিচার, যার মাধ্যমে একাধিক কমান্ডের মধ্যে ডেটা প্রবাহিত করা যায়। এর মাধ্যমে একটি Cmdlet এর আউটপুটকে পরবর্তী Cmdlet এর ইনপুট হিসেবে ব্যবহার করা হয়।
Get-Service | Where-Object { $_.Status -eq 'Running' }
PowerShell এ ভেরিয়েবল ব্যবহার করা যায় এবং ভেরিয়েবলগুলিকে $ দিয়ে চিহ্নিত করা হয়। উদাহরণস্বরূপ:
$process = Get-Process
$process
PowerShell এ ফাংশন তৈরি করা সম্ভব, যা দিয়ে পুনরায় ব্যবহারযোগ্য কোড লেখা যায়।
function Get-CustomMessage {
param ($name)
Write-Host "Hello, $name"
}
PowerShell স্ক্রিপ্ট ফাইলের এক্সটেনশন হলো .ps1। এর মাধ্যমে বিভিন্ন কমান্ড বা ফাংশন লেখা যায় এবং সেগুলো সিস্টেমে রান করানো যায়।
Windows এ PowerShell ওপেন করতে Start Menu তে "PowerShell" লিখে সার্চ করুন এবং Windows PowerShell ক্লিক করে ওপেন করুন। Linux বা macOS এ PowerShell ইন্সটল করতে pwsh কমান্ড ব্যবহার করতে পারেন।
PowerShell এ কিছু বেসিক কমান্ড চালাতে পারেন যেমন:
Get-Process # চলমান প্রসেসগুলো দেখায়
Get-Service # সার্ভিসগুলোর তালিকা দেখায়
Get-Help # সাহায্য পাওয়ার জন্য
PowerShell এর পিপলাইনের সাহায্যে একাধিক কমান্ড ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যেসব প্রসেস CPU এর 100% এর বেশি ব্যবহার করছে সেগুলোকে ফিল্টার করতে:
Get-Process | Where-Object { $_.CPU -gt 100 }
একটি PowerShell স্ক্রিপ্ট তৈরি করতে .ps1 ফাইল তৈরি করুন এবং তাতে আপনার কমান্ডগুলো লিখুন:
# Example.ps1
Get-Process
Get-Service
এটি চালাতে PowerShell এ গিয়ে কমান্ডটি লিখুন:
.\Example.ps1
PowerShell সিস্টেম অ্যাডমিনিস্ট্রেশনের জন্য অন্যতম জনপ্রিয় টুল। এটি দিয়ে ফাইল ম্যানেজমেন্ট, প্রসেস ম্যানেজমেন্ট, সার্ভিস ম্যানেজমেন্ট, এবং আরও অনেক কিছু স্বয়ংক্রিয় করা যায়।
PowerShell এর মাধ্যমে Microsoft Azure এর বিভিন্ন সার্ভিস ম্যানেজ করা যায়। আপনি Azure Resource গুলো তৈরী, ডিলিট, বা কনফিগার করতে পারেন PowerShell কমান্ডের মাধ্যমে।
PowerShell DevOps পরিবেশে ব্যবহৃত হয় বিভিন্ন ডিপ্লয়মেন্ট, কনফিগারেশন, এবং সিস্টেম অ্যাডমিনিস্ট্রেশন কাজকে স্বয়ংক্রিয় করতে। DevOps টুল যেমন Azure DevOps, AWS ইত্যাদির সাথে PowerShell ইন্টিগ্রেশন করা যায়।
PowerShell দিয়ে সিস্টেমের নিরাপত্তা সম্পর্কিত বিভিন্ন কাজ যেমন লগ ফাইল বিশ্লেষণ, সিস্টেমের সিকিউরিটি পলিসি যাচাই এবং স্ক্রিপ্টের মাধ্যমে সিকিউরিটি রিপোর্ট তৈরি করা যায়।
PowerShell হলো একটি শক্তিশালী এবং বহুমুখী কমান্ড লাইন শেল এবং স্ক্রিপ্টিং ভাষা, যা বিশেষভাবে সিস্টেম অ্যাডমিনিস্ট্রেশন এবং অটোমেশন কাজের জন্য ব্যবহৃত হয়। এটি Cmdlets, Pipeline, এবং Object-Oriented ফিচারের মাধ্যমে সিস্টেম পরিচালনা ও ডেটা ম্যানিপুলেশনকে আরও কার্যকর করে তোলে। PowerShell এর মাধ্যমে সিস্টেম অ্যাডমিনিস্ট্রেশন, DevOps অটোমেশন, এবং ক্লাউড ম্যানেজমেন্ট সহজ ও কার্যকরভাবে করা সম্ভব।
PowerShell হলো Microsoft এর তৈরি একটি কমান্ড-লাইন শেল এবং স্ক্রিপ্টিং ভাষা, যা বিশেষভাবে সিস্টেম অ্যাডমিনিস্ট্রেশন এবং অটোমেশন কাজের জন্য ডিজাইন করা হয়েছে। এটি প্রথমে Windows এর জন্য তৈরি করা হয়েছিল, তবে বর্তমানে এটি cross-platform এবং Windows, macOS, এবং Linux এ সমানভাবে ব্যবহার করা যায়। PowerShell এর মাধ্যমে আপনি কমান্ড-লাইন থেকে সরাসরি সিস্টেম কনফিগারেশন, ফাইল সিস্টেম ম্যানেজমেন্ট, প্রক্রিয়া পরিচালনা, এবং আরও অনেক ধরনের কাজ করতে পারেন।
PowerShell হলো Microsoft-এর তৈরি একটি কমান্ড লাইন শেল এবং স্ক্রিপ্টিং ভাষা, যা ব্যবস্থাপনা কাজগুলোকে স্বয়ংক্রিয় করার জন্য এবং সিস্টেম অ্যাডমিনিস্ট্রেশন পরিচালনার জন্য ব্যবহৃত হয়। এটি Command Prompt (CMD) এর একটি শক্তিশালী বিকল্প হিসেবে কাজ করে এবং Windows-এর সাথে সিস্টেমের বিভিন্ন উপাদানকে পরিচালনা করা যায়। PowerShell শুধু Windows নয়, এটি Linux এবং macOS-এও সমর্থিত।
PowerShell প্রথমে Microsoft দ্বারা 2006 সালে প্রকাশিত হয়েছিল Windows PowerShell নামে। এর উদ্দেশ্য ছিল সিস্টেম অ্যাডমিনিস্ট্রেশনকে আরও সহজ করা এবং কমান্ড লাইন ভিত্তিক কাজগুলোর স্বয়ংক্রিয়করণ। PowerShell এর আধুনিক সংস্করণ, যাকে আমরা PowerShell Core বলে থাকি, তা 2016 সালে প্রকাশিত হয় এবং এটি Cross-Platform সমর্থন করে, যার মাধ্যমে PowerShell এখন Windows, Linux, এবং macOS-এ চালানো যায়।
PowerShell একটি শক্তিশালী command-line shell, যা দিয়ে সিস্টেমের বিভিন্ন কাজ যেমন ফাইল ম্যানেজমেন্ট, প্রোগ্রাম এক্সিকিউশন, এবং অন্যান্য সিস্টেম সম্পর্কিত কাজ করা যায়।
PowerShell হলো একটি object-oriented শেল, যেখানে প্রতিটি আউটপুট একটি Object। অর্থাৎ, কমান্ডের আউটপুট হিসেবে পাওয়া ডেটার উপর বিভিন্ন প্রোপার্টি এবং মেথড প্রয়োগ করা যায়। এটি PowerShell কে প্রচলিত Text-based Command Shell থেকে আলাদা করে।
PowerShell এর সবচেয়ে বড় বৈশিষ্ট্য হলো Cmdlets। Cmdlets হলো ছোট, বিশেষায়িত কমান্ড, যা PowerShell এর মাধ্যমে এক্সিকিউট করা হয়। PowerShell এ হাজার হাজার বিল্ট-ইন Cmdlets আছে, যেমন:
PowerShell এ pipeline সমর্থিত, যার মাধ্যমে একটি Cmdlet এর আউটপুটকে অন্য Cmdlet এর ইনপুট হিসেবে ব্যবহার করা যায়। এটি Shell এর কার্যকারিতা বাড়ায়।
Get-Process | Where-Object { $_.CPU -gt 100 }
উদাহরণ: উপরোক্ত কমান্ডটি CPU 100% এর বেশি ব্যবহার করছে এমন প্রসেসগুলোকে ফিল্টার করবে।
PowerShell স্ক্রিপ্ট ব্যবহার করে সিস্টেমের বিভিন্ন কাজ স্বয়ংক্রিয় করা যায়। .ps1 ফাইলের মাধ্যমে বিভিন্ন কমান্ড এবং Cmdlets এর সিরিজ লিখে কাজগুলো সহজ করা সম্ভব।
# Example.ps1
Get-Process
Get-Service
PowerShell এর মাধ্যমে Remote Systems পরিচালনা করা যায়, অর্থাৎ, অন্য কোনো কম্পিউটারে লগ ইন না করেও PowerShell এর মাধ্যমে সেই সিস্টেমের কাজগুলো করা সম্ভব।
Enter-PSSession -ComputerName Server01
PowerShell এ বিভিন্ন Module যুক্ত করা যায়, যা নতুন Cmdlets এবং ফাংশনালিটি সরবরাহ করে। উদাহরণস্বরূপ, Azure বা AWS ম্যানেজমেন্টের জন্য নির্দিষ্ট মডিউল রয়েছে।
Cmdlets হলো ছোট ছোট একক কমান্ড, যা PowerShell এ বিভিন্ন কাজ সম্পন্ন করার জন্য ব্যবহৃত হয়। এর নামের ফরম্যাট সাধারণত Verb-Noun আকারে থাকে, যেমন Get-Process, Start-Service ইত্যাদি।
Pipeline PowerShell এর একটি শক্তিশালী ফিচার, যার মাধ্যমে একাধিক কমান্ডের মধ্যে ডেটা প্রবাহিত করা যায়। এর মাধ্যমে একটি Cmdlet এর আউটপুটকে পরবর্তী Cmdlet এর ইনপুট হিসেবে ব্যবহার করা হয়।
Get-Service | Where-Object { $_.Status -eq 'Running' }
PowerShell এ ভেরিয়েবল ব্যবহার করা যায় এবং ভেরিয়েবলগুলিকে $ দিয়ে চিহ্নিত করা হয়। উদাহরণস্বরূপ:
$process = Get-Process
$process
PowerShell এ ফাংশন তৈরি করা সম্ভব, যা দিয়ে পুনরায় ব্যবহারযোগ্য কোড লেখা যায়।
function Get-CustomMessage {
param ($name)
Write-Host "Hello, $name"
}
PowerShell স্ক্রিপ্ট ফাইলের এক্সটেনশন হলো .ps1। এর মাধ্যমে বিভিন্ন কমান্ড বা ফাংশন লেখা যায় এবং সেগুলো সিস্টেমে রান করানো যায়।
Windows এ PowerShell ওপেন করতে Start Menu তে "PowerShell" লিখে সার্চ করুন এবং Windows PowerShell ক্লিক করে ওপেন করুন। Linux বা macOS এ PowerShell ইন্সটল করতে pwsh কমান্ড ব্যবহার করতে পারেন।
PowerShell এ কিছু বেসিক কমান্ড চালাতে পারেন যেমন:
Get-Process # চলমান প্রসেসগুলো দেখায়
Get-Service # সার্ভিসগুলোর তালিকা দেখায়
Get-Help # সাহায্য পাওয়ার জন্য
PowerShell এর পিপলাইনের সাহায্যে একাধিক কমান্ড ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যেসব প্রসেস CPU এর 100% এর বেশি ব্যবহার করছে সেগুলোকে ফিল্টার করতে:
Get-Process | Where-Object { $_.CPU -gt 100 }
একটি PowerShell স্ক্রিপ্ট তৈরি করতে .ps1 ফাইল তৈরি করুন এবং তাতে আপনার কমান্ডগুলো লিখুন:
# Example.ps1
Get-Process
Get-Service
এটি চালাতে PowerShell এ গিয়ে কমান্ডটি লিখুন:
.\Example.ps1
PowerShell সিস্টেম অ্যাডমিনিস্ট্রেশনের জন্য অন্যতম জনপ্রিয় টুল। এটি দিয়ে ফাইল ম্যানেজমেন্ট, প্রসেস ম্যানেজমেন্ট, সার্ভিস ম্যানেজমেন্ট, এবং আরও অনেক কিছু স্বয়ংক্রিয় করা যায়।
PowerShell এর মাধ্যমে Microsoft Azure এর বিভিন্ন সার্ভিস ম্যানেজ করা যায়। আপনি Azure Resource গুলো তৈরী, ডিলিট, বা কনফিগার করতে পারেন PowerShell কমান্ডের মাধ্যমে।
PowerShell DevOps পরিবেশে ব্যবহৃত হয় বিভিন্ন ডিপ্লয়মেন্ট, কনফিগারেশন, এবং সিস্টেম অ্যাডমিনিস্ট্রেশন কাজকে স্বয়ংক্রিয় করতে। DevOps টুল যেমন Azure DevOps, AWS ইত্যাদির সাথে PowerShell ইন্টিগ্রেশন করা যায়।
PowerShell দিয়ে সিস্টেমের নিরাপত্তা সম্পর্কিত বিভিন্ন কাজ যেমন লগ ফাইল বিশ্লেষণ, সিস্টেমের সিকিউরিটি পলিসি যাচাই এবং স্ক্রিপ্টের মাধ্যমে সিকিউরিটি রিপোর্ট তৈরি করা যায়।
PowerShell হলো একটি শক্তিশালী এবং বহুমুখী কমান্ড লাইন শেল এবং স্ক্রিপ্টিং ভাষা, যা বিশেষভাবে সিস্টেম অ্যাডমিনিস্ট্রেশন এবং অটোমেশন কাজের জন্য ব্যবহৃত হয়। এটি Cmdlets, Pipeline, এবং Object-Oriented ফিচারের মাধ্যমে সিস্টেম পরিচালনা ও ডেটা ম্যানিপুলেশনকে আরও কার্যকর করে তোলে। PowerShell এর মাধ্যমে সিস্টেম অ্যাডমিনিস্ট্রেশন, DevOps অটোমেশন, এবং ক্লাউড ম্যানেজমেন্ট সহজ ও কার্যকরভাবে করা সম্ভব।
আপনি আমাকে যেকোনো প্রশ্ন করতে পারেন, যেমনঃ
Are you sure to start over?