Arvutisse installitud PowerShelli versiooni kontrollimine

Arvutisse installitud PowerShelli versiooni kontrollimine
Arvutisse installitud PowerShelli versiooni kontrollimine

Sissejuhatus PowerShelli versioonide tuvastamisse

PowerShell, ülesannete automatiseerimise ja konfiguratsioonihalduse raamistik, on süsteemiadministraatorite ja energiakasutajate jaoks oluline tööriist. Selle täieliku potentsiaali ärakasutamiseks on oluline teada, milline versioon teie arvutisse on installitud, kuna erinevad versioonid pakuvad erinevaid funktsioone ja võimalusi.

See artikkel juhendab teid teie süsteemi installitud PowerShelli versiooni kindlaksmääramiseks, tagades juurdepääsu selle uusimatele funktsioonidele või ühilduvusprobleemide tõrkeotsingule. Olenemata sellest, kas olete PowerShelli uus kasutaja või kogenud kasutaja, on praeguse versiooni mõistmine esimene samm tõhusa kasutamise poole.

Käsk Kirjeldus
Get-Command Toob kõik süsteemi installitud käsud, sealhulgas cmdletid, funktsioonid, töövood, varjunimed ja käivitatavad failid.
$PSVersionTable PowerShelli sisseehitatud muutuja, mis kuvab PowerShelli praeguse versiooni.
subprocess.run Täidab alamprotsessis määratud käsu, jäädvustades selle väljundi Pythonis edasiseks töötlemiseks.
re.search Otsib vastet stringist, kasutades Pythonis määratud regulaaravaldise mustrit.
command -v Kontrollib, kas määratud käsk on süsteemis saadaval, mida tavaliselt kasutatakse Bashi skriptides.
pwsh Kutsub käsureal või skriptis PowerShell Core'i.
wine Käivitab Windowsi rakendusi Unixi-sarnastes operatsioonisüsteemides, mida kasutatakse siin Windows PowerShelli käitamiseks Wine'i kaudu.

Kuidas skriptid installitud PowerShelli versiooni määramiseks töötavad

PowerShelli skript käivitub, kasutades Get-Command cmdlet, et kontrollida, kas PowerShell on süsteemi installitud. See kontrollib mõlemat pwsh (PowerShell Core) ja powershell (Windows PowerShell). Kui leitakse kumbki käsk, hangib see versiooniteabe failist $PSVersionTable.PSVersion muutuja ja väljastab versiooni. Kui kumbagi käsku ei leita, annab see välja, et PowerShelli pole installitud. See lähenemine tagab ühilduvuse PowerShelli mõlema versiooniga, muutes selle terviklikuks lahenduseks erinevate seadistustega kasutajatele.

Pythoni skript kasutab subprocess.run PowerShelli käskude täitmiseks ja nende väljundi hõivamiseks. Esmalt proovib see käsku käivitada 'powershell -Command $PSVersionTable.PSVersion' Windows PowerShelli kontrollimiseks. Kui see ebaõnnestub, siis ta proovib 'pwsh -Command $PSVersionTable.PSVersion' PowerShell Core'i jaoks. The re.search funktsiooni kasutatakse versiooninumbri eraldamiseks käsu väljundist regulaaravaldise abil. See skript on eriti kasulik platvormidevahelistes keskkondades, kus on saadaval nii Python kui ka PowerShell.

Bashi skript algab kontrollimisega, kas PowerShell Core on installitud kasutades command -v pwsh käsk. Kui see leitakse, käivitab see käsu pwsh -Command '$PSVersionTable.PSVersion.ToString()' versiooni saamiseks. Kui PowerShell Core'i ei leita, kontrollib see käsuga Wine'i kaudu Windows PowerShelli command -v wine ja hukkab wine powershell.exe -Command '$PSVersionTable.PSVersion' kui see on olemas. See skript on kasulik Unixi-laadsete süsteemide jaoks, kus kasutajatel võib olla PowerShell Core või Windows PowerShelli käitamiseks Wine.

Üldiselt pakuvad need skriptid tugevat tööriistakomplekti PowerShelli installitud versiooni määramiseks erinevates operatsioonisüsteemides ja keskkondades. Nad kasutavad konkreetseid käske, näiteks Get-Command, subprocess.run, ja command -v oma eesmärgi saavutamiseks, näidates skriptimise paindlikkust ja võimsust süsteemihaldusülesannetes.

PowerShelli installitud versiooni tuvastamine PowerShelli skripti kaudu

PowerShelli skript

# Check if PowerShell is installed and determine its version
if (Get-Command -Name pwsh -ErrorAction SilentlyContinue) {
    $version = $PSVersionTable.PSVersion
    Write-Output "PowerShell Core is installed. Version: $version"
} elseif (Get-Command -Name powershell -ErrorAction SilentlyContinue) {
    $version = $PSVersionTable.PSVersion
    Write-Output "Windows PowerShell is installed. Version: $version"
} else {
    Write-Output "PowerShell is not installed on this system."
}

Installitud PowerShelli versiooni määramine Pythoni skripti abil

Pythoni skript

import subprocess
import re

def check_powershell_version():
    try:
        result = subprocess.run(['powershell', '-Command', '$PSVersionTable.PSVersion'],
                                capture_output=True, text=True)
        version = re.search(r'(\d+\.\d+\.\d+\.\d+)', result.stdout)
        if version:
            print(f"Windows PowerShell is installed. Version: {version.group(1)}")
        else:
            result = subprocess.run(['pwsh', '-Command', '$PSVersionTable.PSVersion'],
                                    capture_output=True, text=True)
            version = re.search(r'(\d+\.\d+\.\d+\.\d+)', result.stdout)
            if version:
                print(f"PowerShell Core is installed. Version: {version.group(1)}")
            else:
                print("PowerShell is not installed on this system.")
    except FileNotFoundError:
        print("PowerShell is not installed on this system.")

check_powershell_version()

PowerShelli versiooni kontrollimine arvutis Bash-skripti abil

Bashi skript

#!/bin/bash

# Check if PowerShell Core is installed
if command -v pwsh &> /dev/null
then
    version=$(pwsh -Command '$PSVersionTable.PSVersion.ToString()')
    echo "PowerShell Core is installed. Version: $version"
else
    # Check if Windows PowerShell is installed via Wine
    if command -v wine &> /dev/null && wine powershell.exe -Command '$PSVersionTable.PSVersion' &> /dev/null
    then
        version=$(wine powershell.exe -Command '$PSVersionTable.PSVersion.ToString()')
        echo "Windows PowerShell is installed via Wine. Version: $version"
    else
        echo "PowerShell is not installed on this system."
    fi
fi

Täiendavate meetodite uurimine PowerShelli versiooni määramiseks

Teine kasulik meetod PowerShelli installitud versiooni määramiseks hõlmab registri kontrollimist, eriti Windowsi süsteemides. Register võib pakkuda otsest viisi installitud Windows PowerShelli versiooni tuvastamiseks. Selle teabe leidmiseks võite küsida konkreetseid registrivõtmeid. Näiteks võti HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine pääseb juurde, et saada versiooninumber. See meetod on eriti kasulik, kui peate skripti või rühmapoliitika abil automatiseerima protsessi mitmes võrgus olevas masinas.

MacOS-i ja Linuxi kasutajate jaoks hõlmab teine ​​​​lähenemine paketihaldurite kasutamist. Näiteks võite kasutada brew info powershell macOS-is, et kontrollida installitud versiooni. Linuxis võite kasutada apt show powershell või rpm -qi powershell sõltuvalt teie levitamisest. Need paketihalduri käsud annavad üksikasjalikku teavet installitud versiooni kohta, mis võib olla otsustava tähtsusega süsteemiadministraatoritele, kes haldavad erinevaid keskkondi. See meetod tagab, et teie skriptide ja moodulitega ühildub õige PowerShelli versioon.

Levinud küsimused ja vastused PowerShelli versioonide määramise kohta

  1. Kuidas kontrollida PowerShelli versiooni skriptis?
  2. Kasuta $PSVersionTable.PSVersion versiooni kontrollimiseks PowerShelli skriptis.
  3. Kas on võimalik kontrollida PowerShelli versiooni Windowsi käsurea kaudu?
  4. Jah, avage käsuviip ja tippige powershell -Command "$PSVersionTable.PSVersion" versiooni nägemiseks.
  5. Kas ma saan Linuxis PowerShelli versiooni kontrollida?
  6. Jah, võite kasutada pwsh -Command "$PSVersionTable.PSVersion" või kontrollige paketihalduri teavet selliste käskudega nagu apt show powershell.
  7. Kuidas ma leian PowerShell Core'i versiooni?
  8. Käivitage käsk pwsh -Command "$PSVersionTable.PSVersion" oma terminalis.
  9. Mis vahe on Windows PowerShelli ja PowerShell Core vahel?
  10. Windows PowerShell on üles ehitatud .NET Frameworkile ja on ainult Windowsi jaoks, samas kui PowerShell Core on platvormideülene ja põhineb .NET Core'il.
  11. Kas mul on võimalik installida nii Windows PowerShell kui ka PowerShell Core?
  12. Jah, mõlemat saab paigaldada samasse süsteemi ja kasutada iseseisvalt.
  13. Kuidas automatiseerida PowerShelli versiooni kontrollimist mitmes masinas?
  14. Kasutage skripti, mis võimendab Invoke-Command kaugmasinate versioonikontrolli käivitamiseks PowerShell Remotingi kaudu.
  15. Kas PowerShell on vaja värskendada uusimale versioonile?
  16. Kuigi see pole alati vajalik, tagab värskendamine juurdepääsu uusimatele funktsioonidele ja turvatäiustustele.

PowerShelli versiooni määramise meetodite kokkuvõte

PowerShelli installitud versiooni kindlaksmääramine on selle võimaluste täielikuks ärakasutamiseks hädavajalik. PowerShelli skripte kasutades saavad administraatorid kiiresti kontrollida, kas PowerShell Core või Windows PowerShell on installitud, ja hankida versiooninumbri. Pythoni ja Bashi skriptid pakuvad platvormideüleseid lahendusi, kasutades installi oleku ja versiooni kontrollimiseks käske nagu subprocess.run ja käsk -v. Lisaks pakub registri päringute esitamine Windowsis või paketihaldurite kasutamine macOS-is ja Linuxis alternatiivseid meetodeid, mis tagavad, et töötate õige versiooniga, hõlbustades paremat süsteemihaldust ja skriptide ühilduvust.