Ενημέρωση της έκδοσης PowerShell στα Windows

Αυτό το άρθρο περιγράφει τον τρόπο ενημέρωσηςWindows PowerShellστην πιο πρόσφατη έκδοση 5.1 και τρόπος εγκατάστασης (αναβάθμιση)Πυρήνας PowerShell7.3. Αυτήν τη στιγμή υπάρχουν δύο κλάδοι του PowerShell:

  • Το κλασικόWindows PowerShell(η μέγιστη έκδοση είναι 5.1, η οποία δεν αναπτύσσεται πλέον.)
  • Το νέοΠυρήνας PowerShellπλατφόρμα (η έκδοση 7.3 είναι διαθέσιμη τώρα).

Αν και η αρίθμηση των εκδόσεων PowerShell συνεχίζεται από την 5.1 (6.0, 6.1, 7.0, 7.1 κ.λπ.), πρόκειται για δύο διαφορετικές πλατφόρμες. Επομένως, η ενημέρωση των Windows PowerShell και PowerShell Core θα καλύπτεται ξεχωριστά.

Το PowerShell Core 7.x είναι η έκδοση που είναι πιο συμβατή με το κλασικό Windows PowerShell. Αυτό σημαίνει ότι μπορείτε εύκολα να εκτελέσετε τα παλιά σας αρχεία σεναρίων PS1 και cmdlet στον PowerShell Core.

Περιεχόμενα:

Το Windows PowerShell 5.1 είναι ήδη εγκατεστημένο από προεπιλογή σε όλες τις εκδόσεις, ξεκινώντας από τα Windows 10 και τον Windows Server 2016.

Πρέπει να κάνετε μη αυτόματη αναβάθμιση σε PowerShell 5.1 για παλαιότερες εκδόσεις (Windows 7/8.1 και Windows 2008 R2/2012). Για παράδειγμα, ο Windows Server 2012 R2 (Windows 8.1) έχει εγκατεστημένο το PowerShell 4.0.

Ας προσπαθήσουμε να αναβαθμίσουμε την έκδοση Windows PowerShell σε 5.1 στον Windows Server 2012 R2.

Πρώτα, ελέγξτε την τρέχουσα έκδοση PowerShell (το στιγμιότυπο οθόνης δείχνει ότι είναι PowerShell 4.0):

$PSVersionTable.PSVersion

Για να αναβαθμίσετε την έκδοση PowerShell σε 5.1, εγκαταστήστε τοWindows Management Framework 5.1, που απαιτεί την.NET Framework 4.5.2(ή αργότερα). Βεβαιωθείτε ότι το .NET 4.5.2 ή νεότερο είναι εγκατεστημένο χρησιμοποιώντας αυτήν την εντολή:

(Get-ItemProperty ‘HKLM:SOFTWAREMicrosoftNET Framework SetupNDPv4Full’ -Name Release).Release

Στην περίπτωσή μου, η έκδοση κυκλοφορίας378675σημαίνει ότι έχει εγκατασταθεί η έκδοση 4.5.1 του .NET Framework. Επομένως, πρέπει να κατεβάσω και να εγκαταστήσω το πιο πρόσφατο .NET Framework 4.8 (εδώ είναι ο σύνδεσμος για το πρόγραμμα εγκατάστασης εκτός σύνδεσης:https://go.microsoft.com/fwlink/?linkid=2088631ndp48-x86-x64-allos-enu.exe).

Εγκαταστήστε το πακέτο .NET 4.8 (θα χρειαστεί να κάνετε επανεκκίνηση του υπολογιστή σας):

Εάν εγκαταστήσετε το WMF 5.1 χωρίς .NET 4.5.2, ορισμένες δυνατότητες του PowerShell δεν θα είναι διαθέσιμες.

ΛήψηWMF 5.1για Windows Server 2012 R2 —Win8.1AndW2K12R2-KB3191564-x64.msu(https://go.microsoft.com/fwlink/?linkid=839516).

Εγκαταστήστε το Windows Management Framework 5.1 από το αρχείο MSU.

Αφού κάνετε επανεκκίνηση του διακομιστή, ανοίξτε την κονσόλα powershell.exe και βεβαιωθείτε ότι η έκδοση PowerShell έχει ενημερωθεί σε 5.1.

Εάν δεν υποστηρίζετε Windows 7 ή Windows Server 2008 R2, μπορείτε να αναβαθμίσετε την έκδοση PowerShell από 2.0 σε 5.1 με τον ίδιο τρόπο. Πρώτα, εγκαταστήστε.Net Framework 4.5.2(ή νεότερο), λοιπόνWMF 5.1(οι σύνδεσμοι λήψης θα είναι διαφορετικοί από αυτούς του Windows Server 2012 R2).

Πώς να εγκαταστήσετε ή να ενημερώσετε το PowerShell Core 7;

Το PowerShell Core είναι cross-platform και υπό ενεργή ανάπτυξη (σε αντίθεση με το Windows PowerShell 5.1). Στην πραγματικότητα, το PowerShell Core είναι μια νέα πλατφόρμα εγκατεστημένη στο λειτουργικό σύστημα μαζί με το κλασικό Windows PowerShell. Αυτό σημαίνει ότι δεν μπορείτε να κάνετε αναβάθμιση από PowerShell 5.1 σε PowerShell Core 7.3. Το PowerShell 7.x εγκαθίσταται στον υπολογιστή σας ξεχωριστά από το Windows PowerShell 5.1 (δίπλα).

Τα PowerShell Core 6.x και 7.x είναι διαθέσιμα αυτήν τη στιγμή. Συνιστάται να εγκαθιστάτε πάντα την πιο πρόσφατη έκδοση του PowerShell (επί του παρόντος 7.3), εκτός εάν χρειάζεστε ειδική συμβατότητα με παλαιού τύπου σενάρια.

Υπάρχουν διάφοροι τρόποι για να αναβαθμίσετε (εγκαταστήσετε) την έκδοση PowerShell Core στα Windows 10 και 11:

  • Χρησιμοποιήστε το πρόγραμμα εγκατάστασης PowerShell Core MSI, το οποίο είναι διαθέσιμο για λήψη από το GitHub.
  • Χρήση του ενσωματωμένου διαχειριστή πακέτων Windows 10/11 WinGet.
  • Χρήση του Microsoft Store.

Στη συνέχεια, χρησιμοποιώντας το παράδειγμα ενημέρωσης του PowerShell Core σε 7.3 στα Windows 10 22H2, θα εξετάσουμε όλες αυτές τις μεθόδους.

Αναβάθμιση του PowerShell Core με χρήση εγκατάστασης MSI

Εάν θέλετε να εγκαταστήσετε το PowerShell Core χρησιμοποιώντας το πακέτο MSI, μεταβείτε στη σελίδα του έργουhttps://github.com/PowerShell/PowerShellκαι κατεβάστε το πακέτο εγκατάστασης για την έκδοση του λειτουργικού σας συστήματος. Κατά τη στιγμή της γραφής, η πιο πρόσφατη έκδοση του PowerShell είναιv7.3.3, με ημερομηνία 24 Φεβρουαρίου 2023 (για παράδειγμα,PowerShell-7.3.3-win-x64.msiήPowerShell-7.3.3-win-x86.msi). Χρησιμοποιήστε μόνο σταθερές εκδόσεις ή εκδόσεις LTS για περιβάλλον παραγωγής.

Κατεβάστε το αρχείο MSI και εγκαταστήστε το.

Οι ακόλουθες επιλογές εγκατάστασης είναι διαθέσιμες:

  • Προσθήκη PowerShell στη μεταβλητή περιβάλλοντος διαδρομής
  • Καταχωρίστε τη δήλωση καταγραφής συμβάντων των Windows (δημιουργείται ένα ξεχωριστό αρχείο καταγραφής του προγράμματος προβολής συμβάντων για συμβάντα PowerShell.%SystemRoot%System32WinevtLogsPowerShellCore%4Operational.evtx)
  • Ενεργοποίηση PowerShell Remoting (ενεργοποιεί και διαμορφώνει το WinRM για PowerShell Remoting)
  • Προσθέστε το μενού περιβάλλοντος "Άνοιγμα εδώ" στον Explorer
  • Προσθέστε το μενού περιβάλλοντος "Εκτέλεση με PowerShell 7" για αρχεία PowerShell

Στη συνέχεια, μπορείτε να ενεργοποιήσετε τις αυτόματες ενημερώσεις του PowerShell Core μέσω του Windows Update/WSUS (δείτε παρακάτω).

Για να εγκαταστήσετε το PowerShell Core από ένα πακέτο MSI χρησιμοποιώντας SCCM/MDT/scripts σε αθόρυβη λειτουργία, μπορείτε να χρησιμοποιήσετε μια εντολή με τις ακόλουθες παραμέτρους:

Δείτε επίσης:Πώς να ελέγξετε την έκδοση PowerShell στα Windows 11

  • ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL
  • ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL
  • ENABLE_PSREMOTING
  • ΕΓΓΡΑΦΗ_MANIFEST
  • ADD_PATH
  • DISABLE_TELEMETRY
  • USE_MU – χρησιμοποιήστε το Microsoft Update για να λαμβάνετε ενημερώσεις PSCore
  • ENABLE_MU – επιτρέψτε την ενημέρωση του PowerShell Core μέσω του Windows Update

Για παράδειγμα, η εντολή για μια αθόρυβη εγκατάσταση μπορεί να μοιάζει κάπως έτσι:

msiexec.exe /package PowerShell-7.3.3-win-x64.msi /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1 ADD_PATH=1 ENABLE_MU=1 ADD_PATH=1

Μπορείτε να αναβαθμίσετε το PowerShell απευθείας από την κονσόλα. Για εγκατάσταση ή αναβάθμιση στην πιο πρόσφατη έκδοση του PowerShell Core, εκτελέστε την ακόλουθη εντολή:

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

Αυτή η εντολή κατεβάζει το αρχείο PowerShell 7.3 MSI από το GitHub και στη συνέχεια ξεκινά την εγκατάσταση μέσω του προγράμματος εγκατάστασης MSI.

Όταν ολοκληρωθεί η εγκατάσταση, εμφανίζεται το παράθυρο PowerShell Core (pwsh.exe). Ελέγξτε την έκδοση PowerShell για να βεβαιωθείτε ότι έχει ενημερωθεί σε PoSh 7.3.3.

Χρήση του WinGet Package Manager για την εγκατάσταση ή την ενημέρωση του PowerShell Core

Εάν έχετε εγκαταστήσει τη διαχείριση πακέτων WinGet, μπορείτε να εγκαταστήσετε ή να ενημερώσετε την έκδοση PowerShell στην πιο πρόσφατη εντολή:

winget install --id Microsoft.Powershell --source winget

Εναλλακτικά, μπορείτε να εγκαταστήσετε μια συγκεκριμένη έκδοση του PowerShell Core:

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

Εάν έχετε εγκαταστήσει τον διαχειριστή πακέτων Chocolatey, χρησιμοποιήστε τις εντολές (για την έκδοση 5.1):

choco install powershell -y
choco upgrade powershell -y

ή για το PowerShell 7.x:
choco install pwsh -y
choco install pwsh -y

Σημειώστε τους προεπιλεγμένους καταλόγους για διαφορετικές εκδόσεις του PowerShell:

  • Windows PowerShell 5.1:$env:WINDIRSystem32WindowsPowerShellv1.0
  • PowerShell Core 6.x:$env:ProgramFilesPowerShell6
  • PowerShell Core 7.x:$env:ProgramFilesPowerShell7

Εάν το PowerShell 6.x ήταν εγκατεστημένο στον υπολογιστή σας, το$env:ProgramFilesPowerShell6Ο κατάλογος καταργείται αυτόματα κατά την εγκατάσταση του PowerShell 7.3.

Σημειώστε ότι το όνομα του εκτελέσιμου αρχείου PowerShell έχει αλλάξει. Στο PowerShell Core, είναιc:Program FilesPowerShell7pwsh.exe. Έχει το εικονίδιο του στο μενού Έναρξη.

  • Για να εκτελέσετε το Windows PowerShell που βασίζεται σε .NET Framework, τοpowershell.exeχρησιμοποιείται η εντολή
  • Για να εκτελέσετε το PowerShell Core που βασίζεται σε .NET Core, χρησιμοποιήστε τοpwsh.exe

Αυτό σημαίνει ότι έχετε εγκατεστημένο στον υπολογιστή σας τόσο το Windows PowerShell 5.1 όσο και το PowerShell Core 7.3.

Για να βρείτε την έκδοση και την έκδοση του PowerShell που είναι εγκατεστημένη στη συσκευή σας, μπορείτε να ελέγξετε την έκδοση του αρχείου pwsh.exe:

(Get-Command 'C:Program FilesPowerShell7pwsh.exe').Version

Έτσι μπορείτε να ελέγξετε την έκδοση ενός αρχείου σε έναν απομακρυσμένο υπολογιστή:

Invoke-Command -Computername computer1 -Scriptblock {(Get-Command 'C:Program FilesPowerShell7pwsh.exe').Version}

Το Windows PowerShell παρέχει μια ειδική λειτουργία συμβατότητας προς τα πίσω που σας επιτρέπει να εκτελείτε μια παλαιότερη έκδοση του PowerShell ακόμα κι αν έχετε εγκαταστήσει νεότερες εκδόσεις. Μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή για να εκτελέσετε μια συγκεκριμένη έκδοση του παραδείγματος PowerShell, 4.0):

C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -Version 4

Εγκαταστήστε το PowerShell Core στα Windows 10 και 11 μέσω του Microsoft Store

Στα Windows 10 και 11, μπορείτε να εγκαταστήσετε ή να ενημερώσετε το PowerShell μέσω του Microsoft Store. Μπορείτε να βρείτε με μη αυτόματο τρόπο την εφαρμογή PowerShell στο Store ή να τη χρησιμοποιήσετεσύνδεσμος.

Μπορείτε επίσης να χρησιμοποιήσετε το WinGet για να εγκαταστήσετε την έκδοση Store του PowerShell:

winget search powershell --source msstore
winget install --id 9MZ1SNWT0N5D

Το πλεονέκτημα της εγκατάστασης του PowerShell Core από το Microsoft Store είναι ότι το App Store ελέγχει αυτόματα την εγκατεστημένη έκδοση του PowerShell και εγκαθιστά αυτόματα ενημερώσεις μόλις γίνονται διαθέσιμες.

Για να επαληθεύσετε ότι έχετε εγκαταστήσει την έκδοση Store του PowerShell Core, χρησιμοποιήστε την εντολή:

Get-AppPackage Microsoft.PowerShell

Το πακέτο Microsoft.PowerShell_7.3.3.0_x64__8wekyb3d8bbwe είναι εγκατεστημένο σε αυτό το παράδειγμα.

Ωστόσο, υπάρχουν επίσης μειονεκτήματα στο γεγονός ότι μια τέτοια παρουσία του PowerShell θα εκτελείται σε περιβάλλον sandbox.

Μπορείτε να κάνετε λήψη του αρχείου εφαρμογής APPX ή MSIX και να το εγκαταστήσετε χρησιμοποιώντας τοAdd-AppxPackagePowerShell cmdlet .

Εγκατάσταση/ενημέρωση του PowerShell Core σε απομακρυσμένους υπολογιστές

Εξετάστε δύο σενάρια για την εγκατάσταση ή την ενημέρωση του PowerShell Core σε πολλούς απομακρυσμένους υπολογιστές.

Ανάπτυξη του PowerShell Core με πολιτική ομάδας

Μπορείτε να χρησιμοποιήσετε την Πολιτική ομάδας για την κεντρική ανάπτυξη και ενημέρωση του PowerShell Core σε έναν τομέα Active Directory. Χρησιμοποιήστε τις δυνατότητες του GPO για την ανάπτυξη πακέτων MSI σε υπολογιστές τομέα.

  1. Κάντε λήψη του αρχείου εγκατάστασης του PowerShell MSI και αντιγράψτε το στον κατάλογο SYSVOL στον ελεγκτή τομέα.
  2. Ανοίξτε την Κονσόλα διαχείρισης πολιτικής ομάδας τομέα (gpmc.msc), δημιουργήστε ένα νέο GPO και συνδέστε το με το OU με υπολογιστές και διακομιστές.
  3. Μεταβείτε στην ενότητα GPOΔιαμόρφωση υπολογιστή->Ρυθμίσεις λογισμικού, δημιουργήστε ένα νέο πακέτο και καθορίστε τη διαδρομή προς το αρχείο εγκατάστασης PowerShell MSI στο φάκελο SYSVOL στον τομέα (χρησιμοποιήστε τη διαδρομή UNC).Για να στοχεύσετε με μεγαλύτερη ακρίβεια την πολιτική σας σε συσκευές τομέα, μπορείτε να χρησιμοποιήσετε τα φίλτρα GPO WMI.
  4. Για να ενημερώσετε τις ρυθμίσεις πολιτικής ομάδας για την εγκατάσταση λογισμικού, πρέπει να επανεκκινήσετε τους υπολογιστές. Η νέα έκδοση του PowerShell θα εγκατασταθεί σε όλους τους υπολογιστές κατά την εκκίνηση.

Πώς να ενημερώσετε το PowerShell σε έναν απομακρυσμένο υπολογιστή από τη γραμμή εντολών;

Μπορείτε να χρησιμοποιήσετε τη γραμμή εντολών για να ενημερώσετε το PowerShell σε έναν απομακρυσμένο υπολογιστή.

  • Η πρώτη μέθοδος χρησιμοποιεί ένα πρόγραμμα εγκατάστασης MSI σε έναν κοινόχρηστο φάκελο δικτύου για την απομακρυσμένη ενημέρωση του PowerShell σε έναν υπολογιστή:Invoke-Command -ComputerName mun-srv01 -ScriptBlock {Start-Process msiexec.exe -ArgumentList '/package "\mun-fs01installPowerShell-7.3.3-win-x64.msi" /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1' -Wait}
  • Η ακόλουθη δέσμη ενεργειών επιλέγει όλους τους ενεργοποιημένους υπολογιστές που εκτελούν Windows 10 από τον τομέα της υπηρεσίας καταλόγου Active Directory και ξεκινά τη λήψη και την εγκατάσταση του 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"}
    }
    Πρέπει να έχετε εγκατεστημένη τη λειτουργική μονάδα Active Directory PowerShell στον υπολογιστή για να χρησιμοποιήσετε το cmdlet GetADComputer.

Προσέξτε όταν χρησιμοποιείτε εντολές PowerShell Remoting όταν συνδέεστε σε απομακρυσμένους υπολογιστές (με τοEnter-PSSessionκαιInvoke-Commandcmdlet). Εάν πρέπει να συνδεθείτε σε ένα τελικό σημείο PowerShell 7, πρέπει να χρησιμοποιήσετε την εντολή:

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

Διαφορετικά, θα συνδεθείτε στο τελικό σημείο PowerShell Remoting 5.1.

Ενημέρωση PowerShell μέσω Windows Update ή WSUS

Πριν από την έκδοση 7.2 του PowerShell Core, το pwsh.exe δεν ενημερωνόταν αυτόματα. Υπήρχε μόνο μια ειδοποίηση στην κονσόλα μετά την κυκλοφορία μιας νέας έκδοσης:

A new PowerShell stable release is available. Upgrade now, or check out the release page at: https://aka.ms/PowerShell-Release?tag=v7.1.3

Ξεκινώντας με την έκδοση 7.2, το PowerShell Core υποστηρίζει αυτόματες ενημερώσεις μέσω του Windows Update (Microsoft Update, Windows Update για επιχειρήσεις, εσωτερικός διακομιστής WSUS ή SCCM). Για να το κάνετε αυτό, πρέπει να ενεργοποιήσετε τις κατάλληλες επιλογές κατά την εγκατάσταση του πακέτου MSI.

Ελέγξτε ότι τοΛάβετε ενημερώσεις για άλλα προϊόντα της Microsoft κατά την ενημέρωση των WindowsΗ επιλογή είναι τώρα ενεργοποιημένη στις Ρυθμίσεις -> Ενημέρωση και ασφάλεια -> Windows Update -> Επιλογές για προχωρημένους.

Ένας διαχειριστής μπορεί να διαμορφώσει τις επιλογές εγκατάστασης ενημέρωσης μέσω των ρυθμίσεων της πολιτικής ομάδας.

Τώρα, όταν κάνετε κλικ στοΕλέγξτε για Ενημερώσειςκουμπί ή εκτελέστε μια σάρωση ενημέρωσης μέσω της μονάδας PSWindowsUpdate, θα λάβετε επίσης ενημερώσεις για το PowerShell Core.

Related Posts