Увод у идентификацију ПоверСхелл верзија
ПоверСхелл, оквир за аутоматизацију задатака и управљање конфигурацијом, је суштински алат за системске администраторе и напредне кориснике. Да бисте искористили његов пуни потенцијал, кључно је знати која је верзија инсталирана на вашем рачунару, јер различите верзије нуде различите функције и могућности.
Овај чланак ће вас водити кроз кораке за одређивање инсталиране верзије ПоверСхелл-а на вашем систему, обезбеђујући да можете да приступите његовим најновијим функцијама или решите проблеме са компатибилношћу. Било да сте нови у ПоверСхелл-у или сте искусан корисник, разумевање ваше тренутне верзије је први корак ка ефикасном коришћењу.
Цомманд | Опис |
---|---|
Get-Command | Преузима све команде које су инсталиране на систему, укључујући цмдлет команде, функције, токове посла, псеудониме и извршне датотеке. |
$PSVersionTable | Уграђена променљива у ПоверСхелл-у која приказује тренутну верзију ПоверСхелл-а. |
subprocess.run | Извршава наведену команду у подпроцесу, хватајући њен излаз за даљу обраду у Питхон-у. |
re.search | Претражује стринг за подударање користећи одређени образац регуларног израза у Питхон-у. |
command -v | Проверава да ли је одређена команда доступна на систему, која се обично користи у Басх скриптама. |
pwsh | Позива ПоверСхелл Цоре у командној линији или скрипти. |
wine | Извршава Виндовс апликације на оперативним системима сличним Уник-у, који се овде користе за покретање Виндовс ПоверСхелл-а преко Вине-а. |
Како функционишу скрипте за одређивање инсталиране верзије ПоверСхелл-а
ПоверСхелл скрипта почиње коришћењем Get-Command цмдлет да бисте проверили да ли је ПоверСхелл инсталиран на систему. Проверава оба pwsh (ПоверСхелл Цоре) и powershell (Виндовс ПоверСхелл). Ако се било која команда пронађе, она преузима информације о верзији из $PSVersionTable.PSVersion променљива и исписује верзију. Ако ниједна наредба није пронађена, она показује да ПоверСхелл није инсталиран. Овај приступ обезбеђује компатибилност са обе верзије ПоверСхелл-а, што га чини свеобухватним решењем за кориснике са различитим подешавањима.
Питхон скрипта користи subprocess.run функција за извршавање ПоверСхелл команди и снимање њиховог излаза. Прво покушава да покрене команду 'powershell -Command $PSVersionTable.PSVersion' да проверите да ли има Виндовс ПоверСхелл. Ако ово не успе, покушава се 'pwsh -Command $PSVersionTable.PSVersion' за ПоверСхелл Цоре. Тхе re.search функција се користи за издвајање броја верзије из излаза команде помоћу регуларног израза. Ова скрипта је посебно корисна за вишеплатформска окружења где су доступни и Питхон и ПоверСхелл.
Басх скрипта почиње провером да ли је ПоверСхелл Цоре инсталиран помоћу command -v pwsh команда. Ако се пронађе, покреће команду pwsh -Command '$PSVersionTable.PSVersion.ToString()' да бисте добили верзију. Ако ПоверСхелл Цоре није пронађен, он проверава Виндовс ПоверСхелл преко Вине-а помоћу команде command -v wine и извршава wine powershell.exe -Command '$PSVersionTable.PSVersion' ако је на располагању. Ова скрипта је корисна за системе сличне Уник-у где корисници могу имати ПоверСхелл Цоре или користити Вине за покретање Виндовс ПоверСхелл-а.
Све у свему, ове скрипте пружају робустан скуп алата за одређивање инсталиране верзије ПоверСхелл-а у различитим оперативним системима и окружењима. Они користе специфичне команде као што су Get-Command, subprocess.run, и command -v да постигну свој циљ, демонстрирајући флексибилност и моћ скриптовања у задацима системске администрације.
Препознавање инсталиране верзије ПоверСхелл-а преко ПоверСхелл скрипте
ПоверСхелл Сцрипт
# 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."
}
Одређивање инсталиране верзије ПоверСхелл-а помоћу Питхон скрипте
Питхон Сцрипт
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()
Провера верзије ПоверСхелл-а на рачунару помоћу Басх скрипте
Басх Сцрипт
#!/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
Истраживање додатних метода за одређивање верзије ПоверСхелл-а
Још један користан метод за одређивање инсталиране верзије ПоверСхелл-а укључује проверу регистра, посебно на Виндовс системима. Регистар може да обезбеди директан начин да се идентификује верзија инсталираног Виндовс ПоверСхелл-а. Можете да упитате одређене кључеве регистратора да бисте пронашли ове информације. На пример, кључ HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine може се приступити да бисте добили број верзије. Овај метод је посебно користан када треба да аутоматизујете процес на више машина у мрежи помоћу скрипте или смерница групе.
За кориснике мацОС-а и Линук-а, други приступ укључује коришћење менаџера пакета. На пример, можете користити brew info powershell на мацОС-у да проверите инсталирану верзију. На Линук-у, можете користити apt show powershell или rpm -qi powershell у зависности од ваше дистрибуције. Ове команде менаџера пакета пружају детаљне информације о инсталираној верзији, што може бити кључно за администраторе система који управљају различитим окружењима. Овај метод осигурава да имате исправну верзију ПоверСхелл-а компатибилну са вашим скриптама и модулима.
Уобичајена питања и одговори о одређивању ПоверСхелл верзија
- Како могу да проверим верзију ПоверСхелл-а у скрипти?
- Користити $PSVersionTable.PSVersion команду у ПоверСхелл скрипти да проверите верзију.
- Постоји ли начин да проверите верзију ПоверСхелл-а преко командне линије на Виндовс-у?
- Да, отворите командну линију и откуцајте powershell -Command "$PSVersionTable.PSVersion" да видите верзију.
- Могу ли да проверим верзију ПоверСхелл-а на Линук-у?
- Да, можете користити pwsh -Command "$PSVersionTable.PSVersion" или проверите информације о менаџеру пакета командама као што су apt show powershell.
- Како да пронађем верзију ПоверСхелл Цоре-а?
- Покрените команду pwsh -Command "$PSVersionTable.PSVersion" у вашем терминалу.
- Која је разлика између Виндовс ПоверСхелл-а и ПоверСхелл Цоре-а?
- Виндовс ПоверСхелл је изграђен на .НЕТ Фрамеворк-у и само за Виндовс, док је ПоверСхелл Цоре на више платформи, изграђен на .НЕТ Цоре-у.
- Могу ли да инсталирам и Виндовс ПоверСхелл и ПоверСхелл Цоре?
- Да, оба се могу инсталирати на исти систем и користити независно.
- Како могу да аутоматизујем проверу верзије ПоверСхелл-а на више машина?
- Користите скрипту која користи Invoke-Command да покренете проверу верзија на удаљеним машинама преко ПоверСхелл Ремотинг-а.
- Да ли је потребно ажурирати ПоверСхелл на најновију верзију?
- Иако није увек неопходно, ажурирање обезбеђује приступ најновијим функцијама и безбедносним побољшањима.
Сумирање метода за одређивање верзије ПоверСхелл-а
Одређивање инсталиране верзије ПоверСхелл-а је од суштинског значаја за потпуно искоришћење његових могућности. Коришћењем ПоверСхелл скрипти, администратори могу брзо да провере да ли је ПоверСхелл Цоре или Виндовс ПоверСхелл инсталиран и да преузму број верзије. Питхон и Басх скрипте нуде решења за више платформи, користећи команде као што су субпроцесс.рун и цомманд -в за проверу статуса и верзије инсталације. Поред тога, испитивање регистра у оперативном систему Виндовс или коришћење менаџера пакета на мацОС-у и Линук-у пружа алтернативне методе како бисте били сигурни да радите са исправном верзијом, олакшавајући боље управљање системом и компатибилност скрипти.