কম্পিউটার টিউটোরিয়াল

উইন্ডোজে পাওয়ারশেল ভার্সন আপডেট করা

এই আর্টিকেলে, আমরা দেখাব কীভাবে আপনার Windows PowerShell ভার্সনকে লেটেস্ট ৫.১-এ আপডেট করতে হয় এবং PowerShell Core ৭.১ ইনস্টল (আপগ্রেড) করতে হয়। পূর্ববর্তী আর্টিকেলে আমরা বলেছিলাম যে বর্তমানে পাওয়ারশেলের দুটি ভার্সন রয়েছে: একটি ক্লাসিক Windows PowerShell (লেটেস্ট ভার্সন ৫.১ এবং এটি আর ডেভেলপ হচ্ছে না) এবং একটি নতুন PowerShell Core প্ল্যাটফর্ম (ভার্সন ৭.১ বর্তমানে উপলব্ধ)। পাওয়ারশেল ভার্সন নম্বরিং ৫.১ থেকে চালু হলেও (৬.০, ৬.১, ৭.০, ৭.১, ইত্যাদি), এই দুটি আলাদা প্ল্যাটফর্ম। সুতরাং, আমরা দেখব কীভাবে উভয় Windows PowerShell এবং PowerShell Core আপডেট করতে হয়।

Windows PowerShell ৫.১-এ আপগ্রেড করা

Windows Server 2012 R2 (Windows 8.1)-এ ডিফল্টভাবে PowerShell 4.0 ইনস্টল থাকে। চলে উইন্ডোজ সার্ভার ২০১২ R2-এ Windows PowerShell ভার্সন ৫.১-এ আপডেট করার চেষ্টা করি।

প্রথমে, বর্তমান পাওয়ারশেল ভার্সন চেক করুন (স্ক্রিনশটে PowerShell 4.0 ইনস্টল থাকা দেখা যাচ্ছে):

$PSVersionTable.PSVersion

আপনার পাওয়ারশেল ভার্সন ৫.১-এ আপগ্রেড করতে, Windows Management Framework 5.1 ইনস্টল করুন, যার জন্য .NET Framework 4.5.2 (অথবা নতুনতর) প্রয়োজন। নিচের কমান্ড দিয়ে নিশ্চিত করুন যে .NET 4.5.2 বা উচ্চতর ইনস্টল করা আছে:

(Get-ItemProperty ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full’ -Name Release).Release

আমার কেসে, রিলিজ ভার্সন 378675 মানে .NET Framework ভার্সন 4.5.1 ইনস্টল করা আছে। সুতরাং, আমাকে লেটেস্ট .NET Framework 4.8 ডাউনলোড ও ইনস্টল করতে হবে (অফলাইন ইনস্টলার লিংক: https://go.microsoft.com/fwlink/?linkid=2088631 — ndp48-x86-x64-allos-enu.exe)।

.NET 4.8 ইনস্টল করুন (আপনাকে কম্পিউটার রিবুট করতে হবে):

যদি আপনি .NET 4.5.2 ছাড়া WMF 5.1 ইনস্টল করেন, তবে কিছু পাওয়ারশেল ফিচার উপলব্ধ হবে না।

Windows Server 2012 R2-এর জন্য WMF 5.1 ডাউনলোড করুন — Win8.1AndW2K12R2-KB3191564-x64.msu (https://go.microsoft.com/fwlink/?linkid=839516)।

Windows Management Framework 5.1 MSU ফাইলটি ইনস্টল করুন।

সার্ভার রিস্টার্ট হওয়ার পর, PS কনসোল খুলুন এবং নিশ্চিত করুন যে পাওয়ারশেল ভার্সন ৫.১-এ আপডেট হয়েছে।

যদি আপনার অনুমোদন না প্রাপ্ত উইন্ডোজ ৭ বা উইন্ডোজ সার্ভার ২০০৮ R2 থাকে, তবে আপনি একইভাবে পাওয়ারশেল ভার্সন ২.০ থেকে ৫.১-এ আপগ্রেড করতে পারেন। প্রথমে, .Net Framework 4.5.2 (অথবা নতুনতর) ইনস্টল করুন, তারপর WMF 5.1 (ডাউনলোড লিংকগুলো উইন্ডোজ সার্ভার ২০১২ R2-এর থেকে ভিন্ন হবে)।

PowerShell Core ৭ ইনস্টল বা আপডেট করা

দ্রষ্টব্য: উইন্ডোজ ১০ এবং উইন্ডোজ সার্ভার ২০১৯-এ ইনস্টল করা লেটেস্ট Windows PowerShell ভার্সন হলো PowerShell 5.1। মাইক্রোসফট এর পরিবর্তে একটি ক্রস-প্ল্যাটফর্ম PowerShell Core ভার্সন ডেভেলপ করা শুরু করেছে। বর্তমানে PowerShell Core 6.0, 6.1, 6.2, 7.0 এবং 7.1 উপলব্ধ। PowerShell Core মূলত একটি নতুন প্ল্যাটফর্ম যা কম্পিউটারে Windows PowerShell-এর পাশাপাশি ইনস্টল হয়। এর মানে হলো আপনি PowerShell 5.1 কে PowerShell Core 7.1-এ আপগ্রেড করতে পারবেন না। PowerShell 7 কম্পিউটারে Windows PowerShell 5.1 থেকে আলাদাভাবে ইনস্টল হয়।

PowerShell 7.1-এ, ডেভেলপাররা Windows PowerShell-এর সাথে সর্বোচ্চ কম্প্যাটিবিলিটি যোগ করেছেন। সুতরাং, আপনি সহজেই আপনার পুরনো PS1 স্ক্রিপ্ট এবং সিএমডলেটগুলো PowerShell Core-এ চালাতে পারেন।

আপনার কম্পিউটারে PowerShell Core 6.0 ইনস্টল থাকলে, আপনি আপনার কম্পিউটারের পাওয়ারশেল ভার্সনকে লেটেস্ট PowerShell 7.1 Core-এ আপডেট করতে পারেন (অথবা আপনি Windows PowerShell 5.1-এর সাথে পাশাপাশি PowerShell Core 7.1 ইনস্টল করতে পারেন)। এই উদাহরণে, আমরা উইন্ডোজ ১০ 20H2-এ PowerShell Core আপডেট করার চেষ্টা করব। আপগ্রেড করার দুটি পথ রয়েছে:

  • আপনি GitHub থেকে PowerShell Core MSI ইনস্টলার ম্যানুয়ালি ডাউনলোড করতে পারেন;
  • আপনি পাওয়ারশেল কনসোল থেকে সরাসরি ডাউনলোড ও ইনস্টল (আপডেট) করতে পারেন।

PowerShell Core-এর লেটেস্ট রিলিজগুলো উইন্ডোজ ৭ SP1, Server 2008 R2, এবং নতুনতর সকল উইন্ডোজ ভার্সনে ইনস্টল করা যায়।

আপনি যদি MSI প্যাকেজ ব্যবহার করে PowerShell Core ইনস্টল করতে চান, তবে প্রজেক্ট পেজ https://github.com/PowerShell/PowerShell-এ যান, লেটেস্ট স্টেবল রিলিজ খুঁজুন। এই লেখা লেখার সময়, এটি March 4, 2021 রিলিজ হওয়া PowerShell v7.1.3। উচ্চতর প্রিভিউ রিলিজ PowerShell v7.2.0 ও উপলব্ধ, কিন্তু আরও স্টেবল ভার্সনের জন্য অপেক্ষা করা ভালো। Assets লিস্ট এক্সপ্যান্ড করুন এবং আপনার উইন্ডোজ ভার্সনের জন্য প্যাকেজ খুঁজুন (PowerShell-7.1.3-win-x64.msi বা PowerShell-7.1.3-win-x86.msi)।

MSI ফাইলটি ডাউনলোড করুন এবং ইনস্টল করুন।

SCCM/MDT/স্ক্রিপ্টস ব্যবহার করে MSI প্যাকেজ থেকে PowerShell Core কয়েট মোডে ইনস্টল করতে, আপনি নিচের প্যারামিটারসহ কমান্ড ব্যবহার করতে পারেন:

msiexec.exe /package PowerShell-7.1.0-win-x86.msi /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1

আপনি PS CLI থেকে সরাসরি পাওয়ারশেল আপডেট করতে পারেন।

চলে লেটেস্ট PowerShell Core ভার্সন ইনস্টল (আপডেট) করতে নিচের কমান্ড ব্যবহার করি:

iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"

এই কমান্ডটি GitHub থেকে PowerShell 7.1 MSI ডিস্ট্রিবিউশন ফাইল ডাউনলোড করে এবং তারপর MSI ইনস্টলার দিয়ে ইনস্টলেশন শুরু করে।

আপনি অন্যান্য ইনস্টলেশন প্যারামিটারও ব্যবহার করতে পারেন:

  • -Destination – ডিফল্ট PowerShell Core ইনস্টলেশন ফোল্ডার পরিবর্তন করতে
  • -Preview – লেটেস্ট Preview PowerShell ভার্সন ইনস্টল করতে
  • -Quiet – কয়েট ইনস্টলেশন মোড
  • -AddToPath – PowerShell Core ইনস্টলেশন ডিরেক্টরির পথ এনভায়রনমেন্ট ভেরিয়েবলসে যোগ করতে

ইনস্টলেশন শেষ হলে, PowerShell Core (pwsh.exe) উইন্ডো দেখা যাবে। এখানে পাওয়ারশেল ভার্সন চেক করুন নিশ্চিত করতে যে এটি PoSh 7.1.3।

আপনার কম্পিউটারে WinGet প্যাকেজ ম্যানেজার ইনস্টল থাকলে, আপনি লেটেস্ট কমান্ড দিয়ে আপনার পাওয়ারশেল ভার্সন ইনস্টল বা আপডেট করতে পারেন:

winget install --id=Microsoft.PowerShell -e

অথবা, আপনি PowerShell Core-এর নির্দিষ্ট ভার্সন ইনস্টল করতে পারেন:

winget install --id=Microsoft.PowerShell -v "7.1.2" -e

আপনার কম্পিউটারে Chocolatey প্যাকেজ ম্যানেজার ইনস্টল থাকলে, কমান্ডগুলো ব্যবহার করুন:

choco install powershell -y
choco upgrade powershell -y

অথবা PowerShell 7.x-এর জন্য:
choco install pwsh -y
choco install pwsh -y

বিভিন্ন পাওয়ারশেল ভার্সনের ডিরেক্টরিগুলোর দিকে দৃষ্টি নিবোরন:

  • Windows PowerShell 5.1: $env:WINDIR\System32\WindowsPowerShell\v1.0
  • PowerShell Core 6.x: $env:ProgramFiles\PowerShell\6
  • PowerShell Core 7.x: $env:ProgramFiles\PowerShell\7

যদি আপনার কম্পিউটারে PowerShell 6.x ইনস্টল করা থাকে, তবে $env:ProgramFiles\PowerShell\6 ডিরেক্টরিটি আপনি PowerShell 7.1 ইনস্টল করলে অটোমেটিক্যালি রিমুভ হয়ে যায়।

দ্রষ্টব্য: পাওয়ারশেল এক্সিকিউটেবলের নাম পরিবর্তন হয়েছে। PowerShell Core-এ এটি c:\Program Files\PowerShell\7\pwsh.exe। এর স্টার্ট মেনুতে নিজস্ব আইকন রয়েছে।

  • .NET Framework-ভিত্তিক Windows PowerShell চালানোর জন্য powershell.exe কমান্ড ব্যবহার করা হয়
  • .NET Core-ভিত্তিক PowerShell Core চালানোর জন্য pwsh.exe ব্যবহার করা হয়

আপনার ডিভাইসে ইনস্টল করা পাওয়ারশেলের ভার্সন এবং বিল্ড জানতে, আপনি pwsh.exe ফাইলটির ভার্সন চেক করতে পারেন:

(Get-Command 'C:\Program Files\PowerShell\7\pwsh.exe').Version

রিমোট কম্পিউটারের ফাইল ভার্সন চেক করার পদ্ধতি:

Invoke-Command -Computername computer1 -Scriptblock {(Get-Command 'C:\Program Files\PowerShell\7\pwsh.exe').Version}

Windows PowerShell একটি স্পেশাল ব্যাকওয়ার্ড কম্প্যাটিবিলিটি মোড প্রদান করে যা আপনাকে নতুন ভার্সন ইনস্টল থাকা সত্ত্বেও পুরনো ভার্সনের পাওয়ারশেল চালাতে দেয়। আপনি নির্দিষ্ট ভার্সনের পাওয়ারশেল (উদাহরণস্বরূপ 4.0) নিচের কমান্ড দিয়ে শুরু করতে পারেন:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Version 4

Microsoft Store 통해 PowerShell Core ইনস্টল করা

উইন্ডোজ ১০-এ, আপনি Microsoft Store 통해 PowerShell ইনস্টল বা আপডেট করতে পারেন। আপনি ম্যানুয়ালি Store-এ PowerShell অ্যাপ খুঁজে পেতে পারেন বা এই লিংক ব্যবহার করতে পারেন। এই ইনস্টলেশন মেথডের সুবিধা হলো Store অ্যাপটি ইনস্টল করা PowerShell ভার্সন ট্র্যাক করে এবং আপডেট উপলব্ধ होते ही অটোমেটিক্যালি অ্যাপ আপডেট ইনস্টল করে।

যাপিত, এই টাইপের PowerShell ইনস্ট্যান্স স্যান্ডবক্সে চলে যাওয়ার কারণে কিছু ডিসঅ্যাডভান্টেজও রয়েছে।

আপনি APPX/MSIX অ্যাপ্লিকেশন ফাইল ডাউনলোড করে Add-AppxPackage সিএমডলেট ব্যবহার করে ইনস্টল করতে পারেন (বা “Repairing Microsoft Store” আর্টিকেলে বর্ণিত পদ্ধতিতে)।

গ্রুপ পলিসি দিয়ে PowerShell Core ডিপ্লয় করা

অ্যাক্টিভ ডিরেক্টরি ডোমেনে, আপনি সেন্ট্রালি PowerShell Core ডিপ্লয় এবং আপডেট করতে গ্রুপ পলিসি ব্যবহার করতে পারেন। MSI প্যাকেজ ইনস্টল করার জন্য GPO-এর ফিচার ব্যবহার করুন।

  1. PowerShell MSI ইনস্টলেশন ফাইল ডাউনলোড করুন এবং ডোমেন কন্ট্রোলারের SYSVOL ডিরেক্টরিতে কপি করুন;
  2. Domain Group Policy Management Console (gpmc.msc) খুলুন, একটি নতুন GPO তৈরি করুন এবং কম্পিউটার ও সার্ভার থাকা OU-এ লিংক করুন;
  3. GPO সেকশন Computer Configuration -> Software Settings-এ যান, একটি নতুন প্যাকেজ তৈরি করুন, এবং ডোমেনে SYSVOL ফোল্ডারে PowerShell MSI ইনস্টলেশন ফাইলের পথ নির্দিষ্ট করুন (UNC পথ ব্যবহার করুন); আপনি GPO WMI ফিল্টার ব্যবহার করে আপনার পলিসিকে ডোমেন ডিভাইসগুলোর দিকে আরও সঠিকভাবে টার্গেট করতে পারেন।
  4. সফটওয়্যার ইনস্টলেশন গ্রুপ পলিসি সেটিংস আপডেট করতে, আপনাকে কম্পিউটারগুলো রিস্টার্ট করতে হবে। নতুন পাওয়ারশেল ভার্সন স্টার্টআপে সকল কম্পিউটারে ইনস্টল হবে।

রিমোটলি পাওয়ারশেল আপডেট করা

আপনি কমান্ড প্রম্পট দিয়ে রিমোট কম্পিউটারগুলোর পাওয়ারশেল আপডেট করতে নিচের মেথডগুলো ব্যবহার করতে পারেন।

প্রথম মেথড আপনাকে শেয়ার্ড নেটওয়ার্ক ফোল্ডারে MSI ইনস্টলার ব্যবহার করে রিমোট কম্পিউটারে পাওয়ারশেল আপডেট করতে দেয়:

Invoke-Command -ComputerName mun-srv01 -ScriptBlock {Start-Process msiexec.exe -ArgumentList '/package "\\mun-fs01\install\PowerShell-7.1.3-win-x64.msi" /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1' -Wait}

নিচের স্ক্রিপ্টটি অ্যাক্টিভ ডিরেক্টরি ডোমেন থেকে সকল সক্রিয় উইন্ডোজ ১০ কম্পিউটার সিলেক্ট করবে এবং প্রতিটি তে PowerShell Core ডাউনলোড ও ইনস্টল শুরু করবে:

$ADComputers = Get-ADComputer -Filter 'operatingsystem -like "*Windows 10*" -and enabled -eq "true"'
ForEach ($computer in $ADcomputers) {
Invoke-Command -ComputerName $computer {iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI -Quiet"}
}

GetADComputer সিএমডলেট ব্যবহার করতে, আপনার ডিভাইসে Active Directory পাওয়ারশেল মডিউল ইনস্টল থাকতে হবে।

রিমোট কম্পিউটারlerle সংযোগ করার সময় পাওয়ারশেল রিমোটিং কমান্ডগুলো (Enter-PSSession এবং Invoke-Command সিএমডলেট) ব্যবহার করার সময় সতর্ক থাকুন। আপনি যদি PowerShell 7.1 এন্ডপয়েন্টের সাথে সংযোগ করতে চান, তবে আপনাকে কমান্ড ব্যবহার করতে হবে:

Enter-PSSession -ComputerName dc01 -ConfigurationName "powershell.7.1.3"

অন্যথায়, আপনি PowerShell Remoting 5.1 এন্ডপয়েন্টের সাথে সংযোগ করবেন।

  1. উইন্ডোজ ১০, ৮ এবং ৭-এ পাওয়ারশেল ভার্সন চেক করার পদ্ধতি

  2. উইন্ডোজ ১০-এ পাওয়ারশেল ভার্সন যাচাই করুন মিনিটে - সহজ গাইড

  3. Windows 11-এ PowerShell ভার্সন সেকেন্ডهاয় চেক করুন

  4. Windows 11-এ PowerShell আপডেট করার ধাপে ধাপে গাইড