আজকাল, PowerShell একটি ওপেন ক্রস-প্ল্যাটফর্ম শেল এবং স্ক্রিপ্টিং ল্যাঙ্গুয়েজ যা উইন্ডোজ, লিনাক্স, macOS এবং অন্যান্য প্ল্যাটফর্মে ইনস্টল ও ব্যবহার করা যায়। এই লেখায় আমরা দেখাব কিভাবে জনপ্রিয় লিনাক্স ডিস্ট্রোতে (CentOS, RHEL, Debian, Kali, Mint, Ubuntu) PowerShell Core ইনস্টল করতে হয়। উইন্ডোজ অ্যাডমিনিস্ট্রেটররা যারা PowerShell-এ অভ্যস্ত, তাদের লিনাক্সে অভিজ্ঞতা লाने میں এই লেখা সহায়ক হবে।
- বিভিন্ন প্ল্যাটফর্মের জন্য কম্পাইল করা PowerShell প্যাকেজের সম্পূর্ণ তালিকা অফিসিয়াল Microsoft রিপোজিটরিতে উপলব্ধ: https://github.com/PowerShell/PowerShell/releases
- বিভিন্ন লিনাক্স ডিস্ট্রো এবং ভার্সনে PowerShell সাপোর্ট সম্পর্কে আরও তথ্য এখানে পাবেন: https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-linux?view=powershell-7.2
বর্তমানে, PowerShell প্যাকেজ প্রায় সব ডিফল্ট লিনাক্স রিপোজিটরিতে অনুপস্থিত। তাই, লিনাক্সে PowerShell ইনস্টল করতে হলে, প্রথমে Microsoft রিপোজিটরি প্যাকেজ ডাউনলোড করতে হয়, কি ইম্পোর্ট করতে হয়, এবং লিনাক্স প্যাকেজ ম্যানেজার ব্যবহার করে PowerShell ইনস্টল করতে হয়।
নোট করুন যে শুধু PowerShell Core (.NET Core-ভিত্তিক) লিনাক্সে ইনস্টল করা যায়। ক্লাসিক উইন্ডোজ PowerShell 5.1 লিনাক্সে ইনস্টল করা যায় না। লেখা লেখা সময় পর্যন্ত উপলব্ধ সর্বশেষ PowerShell Core ভার্সন হল PowerShell Core 7.2 LTS।
Ubuntu 20.04 এবং Linux Mint 20-এ PowerShell Core ইনস্টলেশন কীভাবে করবেন?
Ubuntu বা Linux Mint-এ PowerShell ইনস্টল করার আগে, প্যাকেজের তালিকা আপডেট করতে হবে:
sudo apt-get update -y
Microsoft রিপোজিটরির GPG কি ডাউনলোড করুন:
wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
Microsoft GPG কি ইনস্টল করুন:
sudo dpkg -i packages-microsoft-prod.deb
packages.microsoft.com থেকে প্যাকেজ সহ প্যাকেজ লিস্ট আপডেট করুন:
sudo apt-get update
PowerShell ইনস্টল করুন:
sudo apt-get install powershell -y

apt প্যাকেজ ম্যানেজার দ্বারা PowerShell প্যাকেজটি স্বয়ংক্রিয়ভাবে আপডেট হবে:
sudo apt update
আপনার কম্পিউটারে যদি পূর্বে PowerShell Core ভার্সন ইনস্টল করা থাকে, তবে এটি সরিয়ে দেওয়া হবে।
আপনি ম্যানুয়ালি PowerShell DEB প্যাকেজ ডাউনলোড ও ইনস্টল করতে পারেন:
wget -q https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-lts_7.2.0-1.deb_amd64.deb
sudo dpkg -i powershell_7.2.0-1.deb_amd64.deb
ডিপেনডেন্সি রেজলভ করুন এবং ইনস্টলেশন শেষ করুন:
sudo apt-get install -f
Debian 11-এ PowerShell Core ইনস্টলেশন
Debian 11 Bullseye-এ PowerShell Core 7.0+ ইনস্টল করতে, প্রথমে Microsoft রিপোজিটরির GPG কি ডাউনলোড করুন:
wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb
তারপর ডাউনলোড করা GPG কি যোগ করুন:
sudo dpkg -i packages-microsoft-prod.deb
প্যাকেজ ম্যানেজারে অ্যাপ লিস্ট আপডেট করুন:
sudo apt update
PowerShell ইনস্টল করুন:
sudo apt install -y powershell

নিচের কমান্ড চালাতে PowerShell স্বয়ংক্রিয়ভাবে আপডেট হবে:
sudo apt update
আপনি যদি শুধু PowerShell প্যাকেজ আপডেট করতে চান:
sudo apt install powershell
Red Hat Enterprise Linux (RHEL) এবং CentOS-এ PowerShell ইনস্টলেশন কীভাবে করবেন?
লিনাক্স CentOS এবং Red Hat Enterprise Linux (RHEL), Oracle Linux-এ PowerShell একইভাবে ইনস্টল করা হয়:
Microsoft RedHat রিপোজিটরি YUM-এ যোগ করুন:
curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
yum (অথবা dnf) প্যাকেজ ম্যানেজার ব্যবহার করে সর্বশেষ উপলব্ধ PowerShell Core ভার্সন ইনস্টল করুন:
sudo yum install -y powershell

PoSh প্যাকেজ আপডেট করতে এই কমান্ড ব্যবহার করুন:
sudo yum update powershell
আপনি RPM ফাইল থেকেও PowerShell ইনস্টল করতে পারেন:
sudo yum install https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-lts-7.2.0-1.rh.x86_64.rpm
Kali Linux-এ PowerShell Core 7.x ইনস্টলেশন
Kali-এ PowerShell ইনস্টল করতে নিচের কমান্ড চালাতেই চলবে:
apt update && apt -y install powershell
Snap ব্যবহার করে লিনাক্সে PowerShell ইনস্টলেশন
আপনি snap ব্যবহার করে বিভিন্ন লিনাক্স ডিস্ট্রোতে PowerShell ইনস্টল করতে পারেন। অফিসিয়াল PoSh সাপোর্ট নেই এমন লিনাক্স ডিস্ট্রিবিউশনের জন্য এই ইনস্টলেশন মেথড প্রস্তাবিত।
snap ব্যবহার করে PowerShell ইনস্টল করার কমান্ড:
sudo snap install powershell --classic
snap-এ PowerShell স্বয়ংক্রিয়ভাবে আপডেট হয়, কিন্তু আপনি ম্যানুয়ালিও করতে পারেন:
sudo snap refresh powershell
লিনাক্সে PowerShell কীভাবে রিমুভ করবেন?
বিভিন্ন লিনাক্স ডিস্ট্রিবিউশনে PowerShell রিমুভ করার কমান্ডগুলো শিখি:
- Ubuntu/Linux Mint-এ PowerShell Core রিমুভ করতে:
sudo apt remove powershell - Debian-এ PowerShell রিমুভ করতে:
sudo apt remove powershell - Kali Linux-এ PowerShell রিমুভ করতে:
sudo apt -y remove powershell - CentOS বা RHEL-এ PowerShell রিমুভ করতে:
sudo yum remove powershell - Snap ব্যবহার করে PowerShell রিমুভ করতে:
sudo snap remove powershell
লিনাক্সে PowerShell Core চালু ও ব্যবহার কীভাবে করবেন?
লিনাক্সে PowerShell কমান্ড শেল চালাতে নিচের কমান্ড লিখুন:
pwsh
Ubuntu হোস্টে ইনস্টল করা PowerShell-এর ভার্সন চেক করতে এই কমান্ড ব্যবহার করুন:
$PSVersionTable
PowerShell কমান্ড লিখতে সময়, TAB কি ব্যবহার করে কোড অটো-কম্পলিশন ফিচার ব্যবহার করতে পারেন।
আমাদের উদাহরণে, PowerShell Core 7.2.0 ইনস্টল করা আছে:
PSVersion 7.2.0 PSEdition Core OS Linux 5.4.0-81-generic #91-Ubuntu SMP Thu Jul 15 19:09:17 UTC 2021 Platform Unix

আপনি দেখতে পাচ্ছেন যে, bash-এ তুলনায় PowerShell শেলে কমান্ডগুলো সম্পন্ন হতে כמה গুণ বেশি সময় লাগে। কমান্ড এক্সিকিউশন টাইম তুলনা করুন:
time pwsh -Command Get-History
time bash -c history

ডিফল্টভাবে, লিনাক্সে কিছু বিল্ট-ইন PowerShell মডিউল উপলব্ধ:
Get-Module –ListAvailable
- Microsoft.PowerShell.Archive
- Microsoft.PowerShell.Host
- Microsoft.PowerShell.Management
- Microsoft.PowerShell.Security
- Microsoft.PowerShell.Utility
- PackageManagement
- PowerShellGet
- PSReadLine
- ThreadJob

আপনি অন্যান্য মডিউল ইনস্টল করতে পারেন, VMWare PowerCLI সহ।
বর্তমান তারিখ পেতে:
Get-date
হোস্ট আপটাইম চেক করুন:
get-Uptime
কারেন্ট ডিরেক্টরির কন্টেন্ট লিস্ট করতে:
Dir
অথবা:
Get-ChildItem

নোট করুন যে লিনাক্সে PowerShell কমান্ডগুলো কেস-ইনসেনসিটিভ নয়।
PowerShell কমান্ড হিস্টরি দেখাতে:
History
কমান্ডের সাহায্য পেতে:
Get-help Get-History
bash থেকে একটি PowerShell স্ক্রিপ্ট চালাতে:
pwsh /home/sysops/CheckSpace.ps1
PowerShell কে লিনাক্স অ্যাডমিনিস্ট্রেশন এবং অটোমেশনে ব্যবহারের ফিচার এবং সিনেরিও সম্পর্কে আমরা পরবর্তী লেখায় আরও জানাব।