التحقق من الإصدار المثبت من PowerShell على جهاز الكمبيوتر الخاص بك

التحقق من الإصدار المثبت من PowerShell على جهاز الكمبيوتر الخاص بك
التحقق من الإصدار المثبت من PowerShell على جهاز الكمبيوتر الخاص بك

مقدمة للتعرف على إصدارات PowerShell

يعد PowerShell، وهو إطار عمل لإدارة أتمتة المهام والتكوين، أداة أساسية لمسؤولي النظام والمستخدمين المتميزين. للاستفادة من إمكاناته الكاملة، يعد معرفة الإصدار المثبت على جهاز الكمبيوتر الخاص بك أمرًا بالغ الأهمية، حيث توفر الإصدارات المختلفة ميزات وقدرات مختلفة.

سترشدك هذه المقالة خلال خطوات تحديد الإصدار المثبت من PowerShell على نظامك، مما يضمن إمكانية الوصول إلى أحدث ميزاته أو استكشاف مشكلات التوافق وإصلاحها. سواء كنت مستخدمًا جديدًا لـ PowerShell أو مستخدمًا متمرسًا، فإن فهم الإصدار الحالي الخاص بك هو الخطوة الأولى نحو الاستخدام الفعال.

يأمر وصف
Get-Command يسترد كافة الأوامر المثبتة على النظام، بما في ذلك أوامر cmdlets، والوظائف، ومسارات العمل، والأسماء المستعارة، والملفات التنفيذية.
$PSVersionTable متغير مضمن في PowerShell يعرض الإصدار الحالي من PowerShell.
subprocess.run ينفذ أمرًا محددًا في عملية فرعية، ويلتقط مخرجاته لمزيد من المعالجة في Python.
re.search يبحث في سلسلة عن تطابق باستخدام نمط تعبير عادي محدد في Python.
command -v يتحقق مما إذا كان الأمر المحدد متاحًا على النظام، وهو أمر شائع الاستخدام في البرامج النصية لـ Bash.
pwsh يستدعي PowerShell Core في سطر الأوامر أو البرنامج النصي.
wine ينفذ تطبيقات Windows على أنظمة التشغيل المشابهة لـ Unix، المستخدمة هنا لتشغيل Windows PowerShell عبر Wine.

كيف تعمل البرامج النصية لتحديد إصدار PowerShell المثبت

يبدأ البرنامج النصي PowerShell باستخدام Get-Command cmdlet للتحقق من تثبيت PowerShell على النظام. فإنه يتحقق لكليهما pwsh (باورشيل كور) و powershell (ويندوز باورشيل). إذا تم العثور على أي من الأمرين، فإنه يسترد معلومات الإصدار من الملف $PSVersionTable.PSVersion متغير ويخرج الإصدار. إذا لم يتم العثور على أي من الأمرين، فسيظهر أن PowerShell غير مثبت. يضمن هذا الأسلوب التوافق مع كلا الإصدارين من PowerShell، مما يجعله حلاً شاملاً للمستخدمين الذين لديهم إعدادات مختلفة.

يستخدم البرنامج النصي بايثون subprocess.run وظيفة لتنفيذ أوامر PowerShell والتقاط مخرجاتها. يحاول أولاً تشغيل الأمر 'powershell -Command $PSVersionTable.PSVersion' للتحقق من وجود Windows PowerShell. إذا فشل هذا، فإنه يحاول 'pwsh -Command $PSVersionTable.PSVersion' لبوويرشيل الأساسية. ال re.search يتم استخدام الوظيفة لاستخراج رقم الإصدار من إخراج الأمر باستخدام تعبير عادي. يعد هذا البرنامج النصي مفيدًا بشكل خاص للبيئات متعددة الأنظمة الأساسية حيث يتوفر كل من Python وPowerShell.

يبدأ البرنامج النصي Bash بالتحقق من تثبيت PowerShell Core باستخدام ملف command -v pwsh يأمر. إذا وجدت، فإنه يقوم بتشغيل الأمر pwsh -Command '$PSVersionTable.PSVersion.ToString()' للحصول على النسخة. إذا لم يتم العثور على PowerShell Core، فإنه يتحقق من وجود Windows PowerShell عبر Wine باستخدام الأمر command -v wine وينفذ wine powershell.exe -Command '$PSVersionTable.PSVersion' إذا كان متاحا. يعد هذا البرنامج النصي مفيدًا للأنظمة المشابهة لنظام Unix حيث قد يكون لدى المستخدمين PowerShell Core أو يستخدمون Wine لتشغيل Windows PowerShell.

بشكل عام، توفر هذه البرامج النصية مجموعة قوية من الأدوات لتحديد الإصدار المثبت من PowerShell عبر أنظمة التشغيل والبيئات المختلفة. إنهم يستفيدون من أوامر محددة مثل Get-Command, subprocess.run، و command -v لتحقيق هدفهم، وإظهار مرونة وقوة البرمجة النصية في مهام إدارة النظام.

التعرف على الإصدار المثبت من PowerShell عبر PowerShell Script

البرنامج النصي بوويرشيل

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

تحديد إصدار PowerShell المثبت باستخدام برنامج 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()

التحقق من إصدار PowerShell على جهاز الكمبيوتر باستخدام برنامج 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

استكشاف طرق إضافية لتحديد إصدار PowerShell

تتضمن الطريقة الأخرى المفيدة لتحديد الإصدار المثبت من PowerShell التحقق من السجل، خاصة على أنظمة Windows. يمكن أن يوفر السجل طريقة مباشرة لتحديد إصدار Windows PowerShell المثبت. يمكنك الاستعلام عن مفاتيح التسجيل المحددة للعثور على هذه المعلومات. على سبيل المثال، المفتاح HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine يمكن الوصول إليه للحصول على رقم الإصدار. تعد هذه الطريقة مفيدة بشكل خاص عندما تحتاج إلى أتمتة العملية عبر أجهزة متعددة في الشبكة باستخدام برنامج نصي أو نهج المجموعة.

بالنسبة لمستخدمي نظامي التشغيل macOS وLinux، هناك طريقة أخرى تتضمن استخدام مديري الحزم. على سبيل المثال، يمكنك استخدام brew info powershell على نظام التشغيل macOS للتحقق من الإصدار المثبت. في نظام التشغيل Linux، قد تستخدم apt show powershell أو rpm -qi powershell اعتمادا على التوزيع الخاص بك. توفر أوامر مدير الحزم هذه معلومات تفصيلية حول الإصدار المثبت، والذي يمكن أن يكون حاسمًا لمسؤولي النظام الذين يديرون بيئات متنوعة. تضمن هذه الطريقة حصولك على إصدار PowerShell الصحيح المتوافق مع البرامج النصية والوحدات النمطية الخاصة بك.

أسئلة وأجوبة شائعة حول تحديد إصدارات PowerShell

  1. كيف يمكنني التحقق من إصدار PowerShell في البرنامج النصي؟
  2. استخدم ال $PSVersionTable.PSVersion الأمر في البرنامج النصي PowerShell للتحقق من الإصدار.
  3. هل هناك طريقة للتحقق من إصدار PowerShell عبر سطر الأوامر على نظام التشغيل Windows؟
  4. نعم، افتح موجه الأوامر واكتب powershell -Command "$PSVersionTable.PSVersion" لرؤية النسخة.
  5. هل يمكنني التحقق من إصدار PowerShell على Linux؟
  6. نعم، يمكنك استخدام pwsh -Command "$PSVersionTable.PSVersion" أو تحقق من معلومات مدير الحزم باستخدام أوامر مثل apt show powershell.
  7. كيف يمكنني العثور على إصدار PowerShell Core؟
  8. قم بتشغيل الأمر pwsh -Command "$PSVersionTable.PSVersion" في المحطة الخاصة بك.
  9. ما الفرق بين Windows PowerShell وPowerShell Core؟
  10. تم بناء Windows PowerShell على .NET Framework وهو يعمل بنظام Windows فقط، في حين أن PowerShell Core عبارة عن منصة مشتركة، مبنية على .NET Core.
  11. هل يمكنني تثبيت كل من Windows PowerShell وPowerShell Core؟
  12. نعم، يمكن تثبيتهما على نفس النظام واستخدامهما بشكل مستقل.
  13. كيف يمكنني أتمتة التحقق من إصدار PowerShell على أجهزة متعددة؟
  14. استخدم البرنامج النصي الذي يستفيد Invoke-Command لتشغيل عمليات التحقق من الإصدار على الأجهزة البعيدة عبر PowerShell Remoting.
  15. هل من الضروري تحديث PowerShell إلى الإصدار الأحدث؟
  16. على الرغم من أن التحديث ليس ضروريًا دائمًا، إلا أنه يضمن الوصول إلى أحدث الميزات والتحسينات الأمنية.

تلخيص طرق تحديد إصدار PowerShell

يعد تحديد الإصدار المثبت من PowerShell أمرًا ضروريًا للاستفادة من إمكاناته بشكل كامل. باستخدام البرامج النصية PowerShell، يمكن للمسؤولين التحقق بسرعة من تثبيت PowerShell Core أو Windows PowerShell واسترداد رقم الإصدار. توفر نصوص Python وBash حلولاً مشتركة بين الأنظمة الأساسية، حيث تستخدم أوامر مثل subprocess.run وcommand -v للتحقق من حالة التثبيت والإصدار. بالإضافة إلى ذلك، يوفر الاستعلام عن السجل على نظام التشغيل Windows أو استخدام مديري الحزم على نظامي التشغيل macOS وLinux طرقًا بديلة للتأكد من أنك تعمل مع الإصدار الصحيح، مما يسهل إدارة النظام بشكل أفضل وتوافق البرامج النصية.