Menyemak Versi PowerShell yang Dipasang pada Komputer Anda

Menyemak Versi PowerShell yang Dipasang pada Komputer Anda
Menyemak Versi PowerShell yang Dipasang pada Komputer Anda

Pengenalan kepada Mengenalpasti Versi PowerShell

PowerShell, automasi tugas dan rangka kerja pengurusan konfigurasi, ialah alat penting untuk pentadbir sistem dan pengguna kuasa. Untuk memanfaatkan potensi sepenuhnya, mengetahui versi yang dipasang pada komputer anda adalah penting, kerana versi berbeza menawarkan ciri dan keupayaan yang berbeza-beza.

Artikel ini akan membimbing anda melalui langkah-langkah untuk menentukan versi PowerShell yang dipasang pada sistem anda, memastikan anda boleh mengakses ciri terbaharunya atau menyelesaikan masalah keserasian. Sama ada anda baru menggunakan PowerShell atau pengguna berpengalaman, memahami versi semasa anda ialah langkah pertama untuk penggunaan yang berkesan.

Perintah Penerangan
Get-Command Mendapatkan semula semua arahan yang dipasang pada sistem, termasuk cmdlet, fungsi, aliran kerja, alias dan boleh laku.
$PSVersionTable Pembolehubah terbina dalam dalam PowerShell yang memaparkan versi semasa PowerShell.
subprocess.run Melaksanakan arahan tertentu dalam subproses, menangkap outputnya untuk pemprosesan selanjutnya dalam Python.
re.search Mencari rentetan untuk padanan menggunakan corak ungkapan biasa yang ditentukan dalam Python.
command -v Menyemak sama ada arahan tertentu tersedia pada sistem, yang biasa digunakan dalam skrip Bash.
pwsh Menjemput Teras PowerShell dalam baris arahan atau skrip.
wine Melaksanakan aplikasi Windows pada sistem pengendalian seperti Unix, digunakan di sini untuk menjalankan Windows PowerShell melalui Wine.

Cara Skrip Berfungsi untuk Menentukan Versi PowerShell yang Dipasang

Skrip PowerShell bermula dengan menggunakan Get-Command cmdlet untuk menyemak sama ada PowerShell dipasang pada sistem. Ia memeriksa kedua-duanya pwsh (Teras PowerShell) dan powershell (Windows PowerShell). Jika mana-mana arahan ditemui, ia mendapatkan semula maklumat versi daripada $PSVersionTable.PSVersion pembolehubah dan mengeluarkan versi. Jika tiada arahan ditemui, ia mengeluarkan bahawa PowerShell tidak dipasang. Pendekatan ini memastikan keserasian dengan kedua-dua versi PowerShell, menjadikannya penyelesaian yang komprehensif untuk pengguna dengan persediaan yang berbeza.

Skrip Python menggunakan subprocess.run berfungsi untuk melaksanakan perintah PowerShell dan menangkap outputnya. Ia mula-mula cuba menjalankan arahan 'powershell -Command $PSVersionTable.PSVersion' untuk menyemak Windows PowerShell. Jika ini gagal, ia cuba 'pwsh -Command $PSVersionTable.PSVersion' untuk PowerShell Core. The re.search fungsi digunakan untuk mengekstrak nombor versi daripada output arahan menggunakan ungkapan biasa. Skrip ini amat berguna untuk persekitaran merentas platform di mana kedua-dua Python dan PowerShell tersedia.

Skrip Bash bermula dengan menyemak sama ada PowerShell Core dipasang menggunakan command -v pwsh perintah. Jika dijumpai, ia menjalankan arahan pwsh -Command '$PSVersionTable.PSVersion.ToString()' untuk mendapatkan versi. Jika PowerShell Core tidak ditemui, ia menyemak Windows PowerShell melalui Wine menggunakan arahan command -v wine dan melaksanakan wine powershell.exe -Command '$PSVersionTable.PSVersion' jika ada. Skrip ini berguna untuk sistem seperti Unix di mana pengguna mungkin mempunyai PowerShell Core atau menggunakan Wine untuk menjalankan Windows PowerShell.

Secara keseluruhan, skrip ini menyediakan set alat yang mantap untuk menentukan versi PowerShell yang dipasang merentas sistem pengendalian dan persekitaran yang berbeza. Mereka memanfaatkan arahan khusus seperti Get-Command, subprocess.run, dan command -v untuk mencapai matlamat mereka, menunjukkan fleksibiliti dan kuasa skrip dalam tugas pentadbiran sistem.

Mengenal pasti Versi PowerShell yang Dipasang melalui Skrip PowerShell

Skrip PowerShell

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

Menentukan Versi PowerShell yang Dipasang Menggunakan Skrip Python

Skrip Python

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

Menyemak Versi PowerShell pada Komputer Menggunakan Skrip Bash

Skrip Bash

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

Meneroka Kaedah Tambahan untuk Menentukan Versi PowerShell

Kaedah lain yang berguna untuk menentukan versi PowerShell yang dipasang melibatkan pemeriksaan pendaftaran, terutamanya pada sistem Windows. Pendaftaran boleh menyediakan cara langsung untuk mengenal pasti versi Windows PowerShell yang dipasang. Anda boleh menanyakan kunci pendaftaran tertentu untuk mencari maklumat ini. Sebagai contoh, kunci HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine boleh diakses untuk mendapatkan nombor versi. Kaedah ini amat berguna apabila anda perlu mengautomasikan proses merentas berbilang mesin dalam rangkaian menggunakan skrip atau Dasar Kumpulan.

Untuk pengguna macOS dan Linux, pendekatan lain melibatkan penggunaan pengurus pakej. Sebagai contoh, anda boleh menggunakan brew info powershell pada macOS untuk menyemak versi yang dipasang. Pada Linux, anda mungkin menggunakan apt show powershell atau rpm -qi powershell bergantung pada pengedaran anda. Arahan pengurus pakej ini memberikan maklumat terperinci tentang versi yang dipasang, yang boleh menjadi penting untuk pentadbir sistem menguruskan persekitaran yang pelbagai. Kaedah ini memastikan anda mempunyai versi PowerShell yang betul serasi dengan skrip dan modul anda.

Soalan dan Jawapan Biasa Mengenai Menentukan Versi PowerShell

  1. Bagaimanakah saya boleh menyemak versi PowerShell dalam skrip?
  2. Menggunakan $PSVersionTable.PSVersion arahan dalam skrip PowerShell untuk menyemak versi.
  3. Adakah terdapat cara untuk menyemak versi PowerShell melalui baris arahan pada Windows?
  4. Ya, buka command prompt dan taip powershell -Command "$PSVersionTable.PSVersion" untuk melihat versi.
  5. Bolehkah saya menyemak versi PowerShell pada Linux?
  6. Ya, anda boleh gunakan pwsh -Command "$PSVersionTable.PSVersion" atau semak maklumat pengurus pakej dengan arahan seperti apt show powershell.
  7. Bagaimanakah cara saya mencari versi PowerShell Core?
  8. Jalankan arahan pwsh -Command "$PSVersionTable.PSVersion" dalam terminal anda.
  9. Apakah perbezaan antara Windows PowerShell dan PowerShell Core?
  10. Windows PowerShell dibina pada Rangka Kerja .NET dan Windows sahaja, manakala PowerShell Core adalah platform merentas, dibina pada Teras .NET.
  11. Bolehkah saya memasang Windows PowerShell dan PowerShell Core?
  12. Ya, kedua-duanya boleh dipasang pada sistem yang sama dan digunakan secara bebas.
  13. Bagaimanakah saya boleh mengautomasikan menyemak versi PowerShell pada berbilang mesin?
  14. Gunakan skrip yang memanfaatkan Invoke-Command untuk menjalankan semakan versi pada mesin jauh melalui PowerShell Remoting.
  15. Adakah perlu untuk mengemas kini PowerShell kepada versi terkini?
  16. Walaupun tidak selalu diperlukan, pengemaskinian memastikan akses kepada ciri terkini dan peningkatan keselamatan.

Merumuskan Kaedah untuk Menentukan Versi PowerShell

Menentukan versi PowerShell yang dipasang adalah penting untuk memanfaatkan sepenuhnya keupayaannya. Dengan menggunakan skrip PowerShell, pentadbir boleh menyemak dengan cepat sama ada PowerShell Core atau Windows PowerShell dipasang dan mendapatkan semula nombor versi. Skrip Python dan Bash menawarkan penyelesaian merentas platform, menggunakan arahan seperti subprocess.run dan command -v untuk menyemak status dan versi pemasangan. Selain itu, menanyakan pendaftaran pada Windows atau menggunakan pengurus pakej pada macOS dan Linux menyediakan kaedah alternatif untuk memastikan anda bekerja dengan versi yang betul, memudahkan pengurusan sistem dan keserasian skrip yang lebih baik.