इस लेख में, हम दिखाएंगे कि अपने Windows PowerShell . को कैसे अपडेट करें संस्करण को नवीनतम 5.1 में स्थापित करें और इंस्टॉल करें (अपग्रेड करें) PowerShell Core 7.1 पिछले लेख में, हमने बताया था कि वर्तमान में PowerShell के दो संस्करण हैं:एक क्लासिक Windows PowerShell (नवीनतम संस्करण 5.1 है और इसे अब विकसित नहीं किया गया है) और एक नया पॉवरशेल कोर मंच (संस्करण 7.1 अब उपलब्ध है)। इसके बावजूद कि PowerShell संस्करण क्रमांकन 5.1 (6.0, 6.1, 7.0, 7.1, आदि) से चलता है, ये दो अलग-अलग प्लेटफ़ॉर्म हैं। इसलिए, हम दिखाएंगे कि विंडोज पावरशेल और पावरशेल कोर दोनों को कैसे अपडेट किया जाए।
सामग्री:
- Windows PowerShell 5.1 में अपग्रेड करना
- पावरशेल कोर 7 को कैसे इंस्टॉल या अपडेट करें?
- माइक्रोसॉफ्ट स्टोर के माध्यम से पावरशेल कोर स्थापित करना
- समूह नीति के साथ पावरशेल कोर परिनियोजित करना
- दूरस्थ रूप से पावरशेल अपडेट करना
Windows PowerShell 5.1 में अपग्रेड करना
PowerShell 4.0 डिफ़ॉल्ट रूप से Windows Server 2012 R2 (Windows 8.1) पर स्थापित है। आइए Windows Server 2012 R2 पर Windows PowerShell संस्करण को 5.1 में अपडेट करने का प्रयास करें।
सबसे पहले, वर्तमान पावरशेल संस्करण की जांच करें (स्क्रीनशॉट दिखाता है कि पावरशेल 4.0 स्थापित है):
$PSVersionTable.PSVersion
अपने PowerShell संस्करण को 5.1 में अपग्रेड करने के लिए, Windows प्रबंधन फ़्रेमवर्क 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 फ्रेमवर्क 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 स्थापित करते हैं, तो कुछ पावरशेल सुविधाएं उपलब्ध नहीं होंगी।
डाउनलोड करें WMF 5.1 Windows Server 2012 R2 के लिए — Win8.1AndW2K12R2-KB3191564-x64.msu
(https://go.microsoft.com/fwlink/?linkid=839516)।
Windows प्रबंधन फ्रेमवर्क 5.1 MSU फ़ाइल स्थापित करें।
सर्वर के पुनरारंभ होने के बाद, PS कंसोल खोलें और सुनिश्चित करें कि PowerShell संस्करण को 5.1 में अपडेट कर दिया गया है।
यदि आपके पास असमर्थित Windows 7 या Windows Server 2008 R2 है, तो आप उसी तरह PowerShell संस्करण को 2.0 से 5.1 तक अपग्रेड कर सकते हैं। सबसे पहले, .नेट फ्रेमवर्क 4.5.2 इंस्टॉल करें (या नया), फिर WMF 5.1 (डाउनलोड लिंक विंडोज सर्वर 2012 R2 के लिंक से अलग होंगे)।
पावरशेल कोर 7 को कैसे इंस्टॉल या अपडेट करें?
ध्यान दें कि विंडोज 10 और विंडोज सर्वर 2019 में स्थापित नवीनतम विंडोज पावरशेल संस्करण पावरशेल 5.1 है। Microsoft ने इसके बजाय एक क्रॉस-प्लेटफ़ॉर्म पॉवरशेल कोर संस्करण विकसित करना शुरू किया। वर्तमान में, पावरशेल कोर 6.0, 6.1, 6.2, 7.0 और 7.1 उपलब्ध हैं। पावरशेल कोर अनिवार्य रूप से एक नया प्लेटफॉर्म है जो विंडोज पावरशेल के साथ कंप्यूटर पर स्थापित है। इसका मतलब है कि आप PowerShell 5.1 को PowerShell Core 7.1 में अपग्रेड नहीं कर सकते हैं। PowerShell 7 को Windows PowerShell 5.1 से अलग कंप्यूटर पर स्थापित किया गया है।
पावरशेल 7.1 में, डेवलपर्स ने विंडोज पावरशेल के साथ अधिकतम संगतता जोड़ी। तो, आप अपनी पुरानी PS1 स्क्रिप्ट और cmdlets को PowerShell Core में आसानी से चला सकते हैं।यदि आपके पास पावरशेल कोर 6.0 स्थापित है, तो आप अपने कंप्यूटर पर पावरशेल संस्करण को नवीनतम पावरशेल 7.1 कोर में अपडेट कर सकते हैं (या आप विंडोज पावरशेल 5.1 के साथ पावरशेल कोर 7.1 स्थापित कर सकते हैं)। इस उदाहरण में, हम Windows 10 20H2 में PowerShell Core को अपडेट करने का प्रयास करेंगे। अपग्रेड करने के दो तरीके हैं:
- आप GitHub से मैन्युअल रूप से PowerShell Core MSI इंस्टॉलर डाउनलोड कर सकते हैं;
- आप इसे सीधे PowerShell कंसोल से डाउनलोड और इंस्टॉल (अपडेट) कर सकते हैं।
यदि आप MSI पैकेज का उपयोग करके पावरशेल कोर स्थापित करना चाहते हैं, तो प्रोजेक्ट पेज https://github.com/PowerShell/PowerShell पर जाएं, नवीनतम स्थिर रिलीज़ ढूंढें। इस लेखन के समय, यह 4 मार्च, 2021 को PowerShell v7.1.3 की रिलीज़ है . PowerShell v7.2.0 का उच्च पूर्वावलोकन रिलीज़ भी उपलब्ध है, लेकिन आप अधिक स्थिर संस्करण के लिए बेहतर प्रतीक्षा करेंगे। संपत्ति का विस्तार करें सूची बनाएं और अपने विंडोज संस्करण के लिए एक पैकेज ढूंढें (PowerShell-7.1.3-win-x64.msi या PowerShell-7.1.3-win-x86.msi )
एमएसआई फ़ाइल डाउनलोड करें और इसे स्थापित करें।
शांत मोड में SCCM/MDT/स्क्रिप्ट का उपयोग करके MSI पैकेज से पावरशेल कोर स्थापित करने के लिए, आप निम्न मापदंडों के साथ एक कमांड का उपयोग कर सकते हैं:
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 को अपडेट कर सकते हैं।
आइए कमांड का उपयोग करके नवीनतम पावरशेल कोर संस्करण को अपडेट (इंस्टॉल) करें:
iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"
यह आदेश GitHub से PowerShell 7.1 MSI वितरण फ़ाइल को डाउनलोड करता है और फिर MSI इंस्टॉलर के माध्यम से स्थापना प्रारंभ करता है।
आप अन्य स्थापना मापदंडों का भी उपयोग कर सकते हैं:- -गंतव्य - डिफ़ॉल्ट पावरशेल कोर इंस्टॉलेशन फ़ोल्डर बदलें
- -पूर्वावलोकन - नवीनतम पूर्वावलोकन पावरशेल संस्करण स्थापित करें
- -शांत - एक शांत स्थापना मोड
- -AddToPath - पर्यावरण चर के लिए PowerShell कोर स्थापना निर्देशिका के लिए एक पथ जोड़ता है
स्थापना समाप्त होने के बाद, PowerShell Core (pwsh.exe) विंडो प्रकट होती है। यह सुनिश्चित करने के लिए कि यह PoSh 7.1.3 है, PowerShell संस्करण यहां देखें।
यदि आपके पास WinGet पैकेज प्रबंधक स्थापित है, तो आप अपने PowerShell संस्करण को नवीनतम कमांड में स्थापित या अपडेट कर सकते हैं:
winget install --id=Microsoft.PowerShell -e
या, आप पावरशेल कोर का एक विशिष्ट संस्करण स्थापित कर सकते हैं:
winget install --id=Microsoft.PowerShell -v "7.1.2" -e
यदि आपके पास चॉकलेटी पैकेज मैनेजर स्थापित है, तो कमांड का उपयोग करें:
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
- पावरशेल कोर 6.x:
$env:ProgramFiles\PowerShell\6
- पॉवरशेल कोर 7.x:
$env:ProgramFiles\PowerShell\7
यदि आपके कंप्यूटर पर PowerShell 6.x स्थापित किया गया था, तो $env:ProgramFiles\PowerShell\6
जब आप PowerShell 7.1 स्थापित करते हैं तो निर्देशिका स्वचालित रूप से हटा दी जाती है।
ध्यान दें कि PowerShell निष्पादन योग्य का नाम बदल गया है। पावरशेल कोर में यह c:\Program Files\PowerShell\7\pwsh.exe है . स्टार्ट मेन्यू में इसका अपना आइकन होता है।
- .NET Framework-आधारित Windows PowerShell को चलाने के लिए,
powershell.exe
कमांड का उपयोग किया जाता है - .NET कोर-आधारित पावरशेल कोर चलाने के लिए,
pwsh.exe
का उपयोग करें
इसका मतलब है कि आपके कंप्यूटर पर Windows PowerShell 5.1 और PowerShell Core 7.1 दोनों स्थापित हैं।
अपने डिवाइस पर स्थापित पावरशेल के संस्करण और निर्माण का पता लगाने के लिए, आप 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 एक विशेष पश्चगामी संगतता मोड प्रदान करता है जो आपको PowerShell के पुराने संस्करण को चलाने की अनुमति देता है, भले ही आपके पास नए संस्करण स्थापित हों। आप निम्न आदेश के साथ एक विशिष्ट संस्करण (उदाहरण के लिए 4.0) के पावरशेल को प्रारंभ कर सकते हैं:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Version 4
माइक्रोसॉफ्ट स्टोर के माध्यम से पावरशेल कोर स्थापित करना
विंडोज 10 पर, आप माइक्रोसॉफ्ट स्टोर के जरिए पावरशेल को इंस्टॉल या अपडेट कर सकते हैं। आप मैन्युअल रूप से स्टोर में पावरशेल ऐप ढूंढ सकते हैं या इस लिंक का उपयोग कर सकते हैं। इस इंस्टॉलेशन विधि का लाभ यह है कि स्टोर ऐप पावरशेल के इंस्टॉल किए गए संस्करण को ट्रैक करेगा और ऐप अपडेट के उपलब्ध होते ही स्वचालित रूप से इंस्टॉल हो जाएगा।
लेकिन इस तथ्य के नुकसान भी हैं कि ऐसा पॉवरशेल इंस्टेंस सैंडबॉक्स में चलेगा।
आप APPX/MSIX एप्लिकेशन फ़ाइल डाउनलोड कर सकते हैं और
Add-AppxPackage
का उपयोग करके इसे इंस्टॉल कर सकते हैं। cmdlet (या जैसा कि "Microsoft Store की मरम्मत" लेख में वर्णित है)।
समूह नीति के साथ पावरशेल कोर परिनियोजित करना
सक्रिय निर्देशिका डोमेन में, आप समूह नीति का उपयोग करके पावरशेल कोर को केंद्रीय रूप से तैनात और अद्यतन कर सकते हैं। MSI पैकेज स्थापित करने के लिए GPO की सुविधाओं का उपयोग करें।
- पावरशेल एमएसआई स्थापना फ़ाइल डाउनलोड करें और इसे डोमेन नियंत्रक पर SYSVOL निर्देशिका में कॉपी करें;
- डोमेन समूह नीति प्रबंधन कंसोल खोलें (
gpmc.msc
), एक नया GPO बनाएं और उसे कंप्यूटर और सर्वर के साथ OU से लिंक करें; - जीपीओ अनुभाग पर जाएं कंप्यूटर कॉन्फ़िगरेशन -> सॉफ़्टवेयर सेटिंग , एक नया पैकेज बनाएँ, और डोमेन में SYSVOL फ़ोल्डर में PowerShell MSI स्थापना फ़ाइल का पथ निर्दिष्ट करें (UNC पथ का उपयोग करें); आप अपनी नीति को डोमेन उपकरणों पर अधिक सटीक रूप से लक्षित करने के लिए GPO WMI फ़िल्टर का उपयोग कर सकते हैं।
- सॉफ़्टवेयर स्थापना समूह नीति सेटिंग्स को अद्यतन करने के लिए, आपको कंप्यूटरों को पुनरारंभ करने की आवश्यकता है। पावरशेल का नया संस्करण स्टार्टअप पर सभी कंप्यूटरों पर स्थापित किया जाएगा।
दूरस्थ रूप से पावरशेल अपडेट करना
आप कमांड प्रॉम्प्ट के माध्यम से दूरस्थ कंप्यूटर पर पावरशेल को अपडेट करने के लिए निम्न विधियों में से एक का उपयोग कर सकते हैं।
पहली विधि आपको साझा नेटवर्क फ़ोल्डर में MSI इंस्टॉलर का उपयोग करके कंप्यूटर पर PowerShell को दूरस्थ रूप से अपडेट करने की अनुमति देती है:
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}
निम्न स्क्रिप्ट सक्रिय निर्देशिका डोमेन से सभी सक्रिय विंडोज 10 कंप्यूटरों का चयन करेगी और उनमें से प्रत्येक पर पावरशेल कोर को डाउनलोड और इंस्टॉल करना शुरू कर देगी:
GetADComputer cmdlet का उपयोग करने के लिए, आपके डिवाइस पर सक्रिय निर्देशिका पावरशेल मॉड्यूल स्थापित होना चाहिए। $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"}
}
दूरस्थ कंप्यूटर से कनेक्ट करते समय PowerShell रिमोटिंग कमांड का उपयोग करते समय सावधान रहें (Enter-PSSession
के साथ) और Invoke-Command
cmdlets)। यदि आपको पावरशेल 7.1 एंडपॉइंट से कनेक्ट करने की आवश्यकता है, तो आपको कमांड का उपयोग करने की आवश्यकता है:
Enter-PSSession -ComputerName dc01 -ConfigurationName "powershell.7.1.3"
अन्यथा, आप पावरशेल रिमोटिंग 5.1 एंडपॉइंट से कनेक्ट होंगे।