Tietokoneeseen asennetun PowerShellin version tarkistaminen

Tietokoneeseen asennetun PowerShellin version tarkistaminen
Tietokoneeseen asennetun PowerShellin version tarkistaminen

Johdatus PowerShell-versioiden tunnistamiseen

PowerShell, tehtävien automatisoinnin ja konfiguroinnin hallintakehys, on olennainen työkalu järjestelmänvalvojille ja tehokäyttäjille. Sen täyden potentiaalin hyödyntämiseksi on erittäin tärkeää tietää, mikä versio tietokoneellesi on asennettu, sillä eri versiot tarjoavat erilaisia ​​ominaisuuksia ja ominaisuuksia.

Tämä artikkeli opastaa sinua järjestelmääsi asennetun PowerShellin version määrittämisessä ja varmistaa, että voit käyttää sen uusimpia ominaisuuksia tai tehdä yhteensopivuusongelmien vianmäärityksen. Olitpa uusi PowerShell-käyttäjä tai kokenut käyttäjä, nykyisen version ymmärtäminen on ensimmäinen askel tehokkaaseen käyttöön.

Komento Kuvaus
Get-Command Noutaa kaikki järjestelmään asennetut komennot, mukaan lukien cmdlet-komennot, funktiot, työnkulut, aliakset ja suoritettavat tiedostot.
$PSVersionTable PowerShellin sisäänrakennettu muuttuja, joka näyttää PowerShellin nykyisen version.
subprocess.run Suorittaa määritetyn komennon aliprosessissa ja kaappaa sen tulosteen jatkokäsittelyä varten Pythonissa.
re.search Etsii vastaavuutta merkkijonosta käyttämällä Pythonissa määritettyä säännöllistä lauseketta.
command -v Tarkistaa, onko järjestelmässä käytettävissä määritetty komento, jota käytetään yleisesti Bash-skripteissä.
pwsh Kutsuu PowerShell Coren komentorivillä tai komentosarjassa.
wine Suorittaa Windows-sovelluksia Unix-tyyppisissä käyttöjärjestelmissä, joita käytetään tässä Windows PowerShellin suorittamiseen Winen kautta.

Kuinka komentosarjat määrittävät asennetun PowerShell-version

PowerShell-komentosarja käynnistyy käyttämällä Get-Command cmdlet tarkistaaksesi, onko PowerShell asennettu järjestelmään. Se tarkistaa molemmat pwsh (PowerShell Core) ja powershell (Windows PowerShell). Jos jompikumpi komento löytyy, se hakee versiotiedot komennosta $PSVersionTable.PSVersion muuttuja ja tulostaa version. Jos kumpaakaan komentoa ei löydy, se tulostaa, että PowerShellia ei ole asennettu. Tämä lähestymistapa varmistaa yhteensopivuuden molempien PowerShell-versioiden kanssa, mikä tekee siitä kattavan ratkaisun käyttäjille, joilla on erilaisia ​​asetuksia.

Python-skripti käyttää subprocess.run toiminto suorittaa PowerShell-komentoja ja siepata niiden tulosteen. Se yrittää ensin suorittaa komennon 'powershell -Command $PSVersionTable.PSVersion' tarkistaaksesi Windows PowerShellin. Jos tämä epäonnistuu, se yrittää 'pwsh -Command $PSVersionTable.PSVersion' PowerShell Corelle. The re.search -funktiota käytetään poimimaan versionumero komennon tulosteesta säännöllisen lausekkeen avulla. Tämä komentosarja on erityisen hyödyllinen monialustaisissa ympäristöissä, joissa sekä Python että PowerShell ovat saatavilla.

Bash-komentosarja alkaa tarkistamalla, onko PowerShell Core asennettu käyttämällä command -v pwsh komento. Jos se löytyy, se suorittaa komennon pwsh -Command '$PSVersionTable.PSVersion.ToString()' saadaksesi version. Jos PowerShell Corea ei löydy, se tarkistaa Windows PowerShellin Winen kautta komennolla command -v wine ja toteuttaa wine powershell.exe -Command '$PSVersionTable.PSVersion' jos saatavilla. Tämä komentosarja on hyödyllinen Unix-tyyppisissä järjestelmissä, joissa käyttäjillä saattaa olla PowerShell Core tai Windows PowerShellin suorittaminen Wine-sovelluksella.

Kaiken kaikkiaan nämä komentosarjat tarjoavat vankan työkalujoukon PowerShellin asennetun version määrittämiseen eri käyttöjärjestelmissä ja ympäristöissä. Ne hyödyntävät tiettyjä komentoja, kuten Get-Command, subprocess.run, ja command -v saavuttaakseen tavoitteensa osoittaen komentosarjojen joustavuutta ja tehoa järjestelmän hallintatehtävissä.

PowerShellin asennetun version tunnistaminen PowerShell-komentosarjan avulla

PowerShell-skripti

# 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."
}

Asennetun PowerShell-version määrittäminen Python-komentosarjan avulla

Python-skripti

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()

PowerShell-version tarkistaminen tietokoneessa Bash-komentosarjan avulla

Bash Script

#!/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

Lisämenetelmien tutkiminen PowerShell-version määrittämiseksi

Toinen hyödyllinen menetelmä PowerShellin asennetun version määrittämiseksi on rekisterin tarkistaminen, erityisesti Windows-järjestelmissä. Rekisteri voi tarjota suoran tavan tunnistaa asennetun Windows PowerShellin versio. Voit kysyä tiettyjä rekisteriavaimia löytääksesi nämä tiedot. Esimerkiksi avain HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine pääsee käsiksi saadaksesi versionumeron. Tämä menetelmä on erityisen hyödyllinen, kun sinun on automatisoitava prosessi useissa verkon koneissa komentosarjan tai ryhmäkäytännön avulla.

MacOS- ja Linux-käyttäjille toinen lähestymistapa sisältää paketinhallintaohjelmien käytön. Voit esimerkiksi käyttää brew info powershell macOS:ssä tarkistaaksesi asennetun version. Linuxissa saatat käyttää apt show powershell tai rpm -qi powershell jakelustasi riippuen. Nämä paketinhallintakomennot antavat yksityiskohtaisia ​​tietoja asennetusta versiosta, mikä voi olla ratkaisevan tärkeää eri ympäristöjä hallitseville järjestelmänvalvojille. Tämä menetelmä varmistaa, että sinulla on oikea PowerShell-versio, joka on yhteensopiva komentosarjojesi ja moduuliesi kanssa.

Yleisiä kysymyksiä ja vastauksia PowerShell-versioiden määrittämisestä

  1. Kuinka voin tarkistaa PowerShell-version komentosarjassa?
  2. Käytä $PSVersionTable.PSVersion -komento PowerShell-komentosarjassa tarkistaaksesi version.
  3. Onko mahdollista tarkistaa PowerShell-versio komentorivin kautta Windowsissa?
  4. Kyllä, avaa komentokehote ja kirjoita powershell -Command "$PSVersionTable.PSVersion" nähdäksesi version.
  5. Voinko tarkistaa PowerShell-version Linuxissa?
  6. Kyllä, voit käyttää pwsh -Command "$PSVersionTable.PSVersion" tai tarkista paketinhallinnan tiedot komennoilla, kuten apt show powershell.
  7. Miten löydän PowerShell Coren version?
  8. Suorita komento pwsh -Command "$PSVersionTable.PSVersion" terminaalissasi.
  9. Mitä eroa on Windows PowerShellin ja PowerShell Coren välillä?
  10. Windows PowerShell on rakennettu .NET Frameworkiin ja on vain Windowsille, kun taas PowerShell Core on monialustainen, rakennettu .NET Coreen.
  11. Voinko asentaa sekä Windows PowerShellin että PowerShell Coren?
  12. Kyllä, molemmat voidaan asentaa samaan järjestelmään ja käyttää itsenäisesti.
  13. Kuinka voin automatisoida PowerShell-version tarkistamisen useilla koneilla?
  14. Käytä skriptiä, joka hyödyntää Invoke-Command suorittaa versiotarkistuksia etäkoneissa PowerShell Remotingin kautta.
  15. Pitääkö PowerShell päivittää uusimpaan versioon?
  16. Vaikka päivitys ei aina ole välttämätöntä, se varmistaa pääsyn uusimpiin ominaisuuksiin ja tietoturvaparannuksiin.

Yhteenveto PowerShell-version määritysmenetelmistä

PowerShellin asennetun version määrittäminen on välttämätöntä sen ominaisuuksien täysimääräiseen hyödyntämiseen. PowerShell-komentosarjoja käyttämällä järjestelmänvalvojat voivat nopeasti tarkistaa, onko PowerShell Core tai Windows PowerShell asennettu, ja hakea versionumeron. Python- ja Bash-komentosarjat tarjoavat monialustaisia ​​ratkaisuja, jotka käyttävät komentoja, kuten subprocess.run ja command -v asennuksen tilan ja version tarkistamiseen. Lisäksi kyselyn tekeminen rekisteristä Windowsissa tai paketinhallintaohjelmien käyttäminen macOS:ssä ja Linuxissa tarjoaa vaihtoehtoisia menetelmiä varmistaaksesi, että käytät oikeaa versiota, mikä helpottaa järjestelmän hallintaa ja komentosarjojen yhteensopivuutta.