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