PowerShell মাইক্রোসফ্টের নিজস্ব Command Prompt-এর বিকল্প। আগে, মাইক্রোসফ্ট ঘোষণা করেছিল যে তারা পাওয়ারশেল ওপেন সোর্স করবে এবং উবুন্টু, সেন্টওএস, রেড হ্যাট এন্টারপ্রাইজ লিনাক্স, ওপেনএসইউএসই, ফেডোরা এবং macOS-এর মতো বিভিন্ন লিনাক্স ফ্লেভরের সাম্প্রতিক সংস্করণে এটি আনে। তারা PowerShell Coreও রিলিজ করেছিল যা পাওয়ারশেলের আগের সংস্করণের চেয়ে অনেক বেশি ফিচার অফার করতো যা উইন্ডোজের সাথে শিপ করা হতো। এটি System Administrators জন্য তৈরি করা হয়েছিল এবং কমান্ড প্রম্পটের বিকল্প হতে উদ্দেশ্য ছিল। এই পাওয়ারশেলের ক্রস-প্ল্যাটফর্ম এক্সপ্যানশনೊಂದಿಗೆ, ব্যবহারকারীরা বিভিন্ন অপারেটিং সিস্টেম এবং এনভায়রনমেন্টে কাজ করার সুবিধা পাবে।

বছরগুলোর পথে, পাওয়ারশেল আরও cmdlets বা PowerShell commands সাপোর্ট করার জন্য কাজ করা হয়েছে এবং আপগ্রেড করা হয়েছে শুধু এটি যথেষ্ট ফ্লেক্সিবল করতে 다양한 টাস্ক ম্যানেজ করার জন্য। উইন্ডোজ-অনলি সফটওয়্যার এবং সার্ভিস চালানোর সংস্থাগুলোর জন্য, মাইক্রোসফ্ট তাদের সার্ভিসগুলো যেমন Windows Server, Azure Active Directory, এবং Exchange কে পাওয়ারশেল ব্যবহার করে ম্যানেজ করার যোগ্য বানাতে কাজ করছে। এটি দীর্ঘমেয়াদে বেশি লজিস্টিক্যাল কস্ট বাঁচাতে সাহায্য করে, GUI-ভিত্তিক কনফিগারেশন ম্যানেজার ব্যবহার করার চেয়ে।
পাওয়ারশেলে এক্সিকিউট করা যাবে এমন সমতুল্য CMD কমান্ড
আজ, আমরা CMD-এর কিছু বেসিক কমান্ড নিয়ে আলোচনা করব যা পাওয়ারশেল কমান্ড লাইন ব্যবহার করেও এক্সিকিউট করা যায়।

১] কমান্ড লাইনে যেকোনো লোকেশনে নেভিগেট করা খুব সহজ। কমান্ড প্রম্পটে আপনি cd ব্যবহার করেন, পাওয়ারশেলে আপনি একই কাজের জন্য ব্যবহার করতে পারেন
Set-Location ""
২] একটি ফোল্ডারের সমস্ত কন্টেন্ট লিস্ট করা কোনো বড় ব্যাপার নয় যদি এটি আপনাকে ডিরেক্টরির একটি ট্রি নেভিগেট করতে সাহায্য করে। কমান্ড প্রম্পটের জন্য আমরা dir ব্যবহার করতাম, কিন্তু পাওয়ারশেল ব্যবহার করার সময়, আপনি শুধু ব্যবহার করতে পারেন
Get-ChildItem
একটি ডিরেক্টরির ভেতরে সব ফাইল এবং ডিরেক্টরি লিস্ট করতে।
৩] রিনেম করা কিছু ऐसा যা আমরা আমাদের ১০০% GUI-কেন্দ্রিক অপারেটিং সিস্টেমে মেনে চলে। কিন্তু একটি রিমোট সিস্টেমে একটি ফাইল বা ফোল্ডার রিনেম করতে হলে, কমান্ড প্রম্পট ব্যবহার করার সময় rename কমান্ডের ওপর নির্ভর করতে হতো কিন্তু পাওয়ারশেলে, তারা ব্যবহার করতে পারে
Rename-Item "Path/of/the/file.txt" -NewName "NewNameOfTheFile.csv"
এটি ব্যবহার করে, ব্যবহারকারী নির্দিষ্ট ফাইলের নাম এবং এক্সটেনশন উভয়ই পরিবর্তন করতে পারে।

৪] আপনি যদি একটি কমান্ড জানেন কিন্তু নিশ্চিত নন এটি কী সম্পর্কে, কমান্ড প্রম্পট কমান্ড লাইনে /? কমান্ড অনেক সাহায্য করত। सौভাগ্যবশত, পাওয়ারশেল এই ফিচারটিও অभाव করেন না। আপনি ব্যবহার করতে পারেন
Get-Help "CMDLET NAME"
একটি CMDLET পাওয়ারশেলে কী করে তা চেক করতে।
৫] একটি রানিং প্রক্রিয়া বন্ধ করতে আপনাকে টাস্ক ম্যানেজারের ওপর নির্ভর করতে হয় না যখন আপনার পাশে পাওয়ারশেল আছে। taskkill কমান্ড প্রম্পটে একটি विश्वস্ত কমান্ড, কিন্তু পাওয়ারশেলে, আপনি ব্যবহার করতে পারেন
Stop-Process -Name "ApplicationName.exe"
৬] আমরা যে কমান্ডটি আলোচনা করতে যাচ্ছি তা কিছু ऐसा যা আমি ব্যক্তিগতভাবে স্কুলে খুব বেশি ব্যবহার করা দেখেছি। এটি একটি খুব উপকারী কমান্ড। এটি একটি রিমোট কম্পিউটার বা সার্ভার সেশন শাট ডাউন করতে ব্যবহার করা যেতে পারে। কমান্ড প্রম্পটে, shutdown -s ব্যবহার করা যায় কিন্তু পাওয়ারশেলে,
Stop-Computer -ComputerName "HostName1","HostName2","Gateway or Address"
একটি রিমোট কম্পিউটার শাট ডাউন করতে ব্যবহার করা যায়।
৭] একটি কম্পিউটার শাট ডাউন করার মতো, কমান্ড প্রম্পট কমান্ড shutdown -r, পাওয়ারশেলে একই কাজ করার জন্য
Restart-Computer -ComputerName "HostNameNew", "Gateway or Address"
ব্যবহার করা যায়।
৮] যদি একটি সিস্টেমের গ্রুপ পলিসিতে কিছু নতুন পরিবর্তন করা হয় এবং পরিবর্তনগুলো দেখতে হলে, আপনাকে গ্রুপ পলিসি ফোর্স রিফ্রেশ করতে হয়, কমান্ড প্রম্পটে gpupdate /force ব্যবহার করা হতো। কিন্তু পাওয়ারশেলে, কেউ ব্যবহার করতে পারে
Invoke-GPUpdate -Computer "Name of the Host" -Force
নিরাপদে ব্যবহার করা যায়।
৯] ভেরিয়েবল সেট করতে, কমান্ড প্রম্পট কমান্ড লাইনে, কেউ ব্যবহার করতে পারত
SET VariableName = "Value of the Variable"
, কিন্তু পাওয়ারশেলে, $ সব কিছুর যত্ন নেয়। আপনি শুধু এই কমান্ডটি ব্যবহার করে কাজটি করতে পারেন,
$VariableName="Value of the Variable".
১০] আপনি যদি একটি কম্পিউটারকে ডোমেনে যোগ করতে চান, তবে এটি খুব সরল। কমান্ড প্রম্পটে, কেউ এই কমান্ডটি ব্যবহার করতে পারত:
netdom /domain:domainName /user:userName /password:passwordForTheDomain member hostname /add
কিন্তু আপনি পাওয়ারশেল ব্যবহার করলে, আপনি ব্যবহার করতে পারেন
Add-Computer -DomainName "Domain" -Credential "Domain\Username" -Restart
আমরা যদি মনোযোগ সহকারে পর্যবেক্ষণ করি, বেসিক কমান্ড প্রম্পট কমান্ডগুলো পাওয়ারশেলের সাথে একইভাবে এক্সিকিউট করার সময় কিছুটা জটিল হয়ে যায়। কিন্তু আমরা যখন জটিল কমান্ডগুলো যেমন ডোমেন যোগ করার কমান্ড যা আমরা কমান্ড প্রম্পট এবং পাওয়ারশেল উভয়েই ব্যবহার করেছি, এবং আমরা পর্যবেক্ষণ করি, কমান্ড প্রম্পটে ব্যবহৃতটি পাওয়ারশেল কাউন্টারপার্টের চেয়ে অনেক বেশি জটিল।
অতএব, আমরা বলতে পারি যে কমান্ড প্রম্পট কাউন্টারপার্টের ওপর পাওয়ারশেলের বাস্তবায়ন আরও ভালো। এটিও এই তথ্যসহ যে এটি অন্যান্য প্ল্যাটফর্ম এবং এনভায়রনমেন্টেও উপলব্ধ।
আমরা বিশ্বাস করি যে মাইক্রোসফ্ট পাওয়ারশেলকে কমান্ড প্রম্পটের চেয়ে ভালো বানাতে আরও আক্রমণাত্মকভাবে কাজ করবে এবং কমান্ড প্রম্পটকে পাওয়ারশেল দিয়ে রিপ্লেস করে ব্যবহারকারীদের বাধ্য করবে না।
