Как узнать версию powershell на windows 10

В этой статье мы рассмотрим какие версии PowerShell существуют, в чем отличие Windows PowerShell от PowerShell Core и как узнать, какая версия PowerShell установлена на локальном или удаленных компьютерах.

Содержание:

  • История версии PowerShell, PowerShell Core
  • Как узнать версию PowerShell из консоли?
  • Получаем версию PowerShell на удаленных компьютерах

История версии PowerShell, PowerShell Core

По умолчанию PowerShell устанвлен во всех версиях Windows, начиная с Windows 7 SP1 и Windows Server 2008 R2 SP1. В следующей таблице представлен список актуальных версий PowerShell:

Версия PS Примечание
PowerShell 1.0 Можно было установить вручную в Windows Server 2003 SP1 и Windows XP
PowerShell 2.0 Предустановлен в Windows Server 2008 R2 и Windows 7
PowerShell 3.0 Установлен в Windows 8 и Windows Server 2012
PowerShell 4.0 Предустановлен в Windows 8.1 и Windows Server 2012 R2
PowerShell 5.0 Предустановлен в Windows 10 RTM, и автоматически обновляется до 5.1 через Windows Update
PowerShell 5.1 Встроен в Windows 10 (начиная с билда 1709) и Windows Server 2016
PowerShell Core 6.0 и 6.1 Следующая кроссплатформенная версия PowerShell (основана на .NET Core), которую можно установить не только во всех поддерживаемых версиях Windows, но и в MacOS, CentOS, RHEL, Debian, Ubuntu, openSUSE
PowerShell Core 7.0 Самая последняя версия PowerShell, вышедшая в марте 2020 (в новом релизе выполнен переход с .NET Core 2.x на 3.1)

Вы можете вручную установить более новую версию PowerShell в предыдущих версиях Windows. Для этого нужно скачать и установить соответствующую версию Windows Management Framework (PowerShell входит в его состав).

Стоит обратить внимание, что последние 2 года Microsoft приостановила развитие классического Windows PowerShell (выпускаются только исправления ошибок и безопасности) и сфокусировалась на открытом кроссплатформенном PowerShell Core. В чем отличия Windows PowerShell от PowerShell Core?

  • Windows PowerShell основан на NET Framework (например, для PowerShell 5 требуется .NET Framework v4.5, нужно убедиться что он установлен). PowerShell Core основан на .Net Core;
  • Windows PowerShell работает только на ОС семейства Windows, а PowerShell Core является кроссплатформенным и будет работать в Linux;
  • В PowerShell Core нет полной совместимости с Windows PowerShell, однако Microsoft работает на улучшением обратной совместимости со старыми командлетами и скриптами (перед переходом на PowerShell Core рекомендуется протестировать работу старых PS скриптов). В PowerShell 7 обеспечивается максимальная совместимсть с Windows PowerShell.
  • Редактор PowerShell ISE нельзя использовать для отладки скриптов PowerShell Core (но можно использовать Visual Studio Code)
  • Т.к. Windows PowerShell более не развивается, рекомендуется постепенно мигрировать на PowerShell Core.

Как узнать версию PowerShell из консоли?

Самый простой способ определить какая версия PowerShell у вас установлена с помощью команды:

host

Следующий скриншот из Windows 10, в которой как и в Windows Server 2016 по умолчанию установлен PowerShell 5.1.

как определить установленную версию powershell из консоли

или

$PSVersionTable

Можно получить только значении версии:

$PSVersionTable.PSVersion.major

(в этом примере мы получили версию PSVersion 2.0 с чистого Windows Server 2008 R2)

$PSVersionTable

Команда
$PSVersionTable
корректно работает в PowerShell Core на различных операционных системах.

Также можно узнать установленную версию PowerShell через реестр. Для этого нужно получить значение параметра PowerShellVersion из ветки реестра HKLM\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine с помощью Get-ItemProperty

(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name 'PowerShellVersion').PowerShellVersion

узнать версию powershell xthtp httcnhf

Данный способ работает, начиная с Windows Server 2012/Windows 8. В Windows Server 2008 R2/ Windows 7 нужно получить значение параметра реестра в другой ветке:

(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine -Name 'PowerShellVersion').PowerShellVersion

версия powershell в windows server 2008r2

Для определения установленной версии PowerShell Core нужно использовать команду:

(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShellCore\InstalledVersions* -Name 'SemanticVersion').SemanticVersion

Получаем версию PowerShell на удаленных компьютерах

Для получения версии PowerShell на удаленных компьютерах нужно использовать значение переменной окружения $PSVersionTable или получать данные непосредственно из реестра. Другие способы могут возвращать некорректные данные.

Вы можете получить версию PowerShell с удаленного компьютера с помощью команды Invoke-Command:

Invoke-Command -ComputerName dc01 -ScriptBlock {$PSVersionTable.PSVersion} -Credential $cred

получить версию powershell с удаленного компьютера

Major Minor Build Revision PSComputerName
----- ----- ----- -------- --------------
5 1 14393 3383 dc01

Можно получить установленные версии PowerShell с нескольких компьютеров таким скриптом (их список сохранен в текстовом файле):

Invoke-Command -ComputerName (Get-Content C:\PS\servers.txt) -
ScriptBlock{$PSVersionTable.PSVersion} | Select PSComputerName, @{N="PS Version";E={$_.Major}}

Либо можно получить список компьютеров домена через Get-ADComputer и получить версию PowerShell на них:

$adcomputer=(Get-ADComputer -Filter 'operatingsystem -like "*Windows server*" -and enabled -eq "true"' -SearchBase ‘OU=servers,dc=winitpro,dc=ru’ ).Name
Invoke-Command-ComputerName $adcomputer -Scriptblock{$PSVersionTable.psversion} -ErrorAction SilentlyContinue

Если ваш скрипт PoweShell использует специальный функционал определенной версии PS, вы можно принудительно переключиться в режим другой версии PowerShell. Например, для запуска консоли в режиме PowerShell v3, выполните (должен быть установлен .Net Framework 3.5):

PowerShell.exe -version 3

Определение версии PowerShell может быть важно при выполнении скриптов и запуске команд, которые используют командлеты или специальные возможности определенной версии PS. Если вы хотите в скрипте PS определить какая версия PowerShell установлена, и в зависимости от этого использовать разные командлеты, вы можете использовать такой скрипт:

$ps_version = $PSVersionTable.PSVersion.major
if ( $ps_version -eq "2” )
{
write "Вы используете Powershell 2.0"
}
elseif ( $ps_version -eq "5" )
{
write " Вы используете Powershell 5"
}

В следующей статье мы рассмотрим, как обновить версию PowerShell в Windows.

В данной статье показаны действия, с помощью которых можно узнать установленную версию Windows PowerShell в операционных системах Windows 10, 8.1, 8, 7.

PowerShell — это оболочка командной строки с поддержкой задач и язык скриптов на основе платформы .NET.

PowerShell позволяет системным администраторам и опытным пользователям быстро автоматизировать задачи для управления операционной системой и поэтому всегда рекомендуется убедиться, что ваша система использует последнюю версию PowerShell.

Чтобы узнать установленную версию PowerShell, запустите консоль Windows PowerShell любым из способов и выполните следующую команду:

$PSversionTable

В строке PSVersion вы увидите версию PowerShell.

Также, чтобы узнать версию PowerShell, можно использовать дополнительные команды:

Get-Host|Select-Object Version

$host.version

Результат выполнения команд показан на скриншоте ниже.

Ниже приведены версии, которые устанавливаются по умолчанию в соответствии с версией Windows:

  • Windows 10 (см. примечание) PS 5.1
    Windows Server 2016
  • Windows 8.1PS 4.0
    Windows Server 2012 R2
  • Windows 8PS 3.0
    Windows Server 2012
  • Windows7 с пакетом обновления 1 (SP1)PS 2.0
    Windows Server 2008 R2 с пакетом обновления 1 (SP1)

Примечание:

  • Если в начальном выпуске Windows 10 включены автоматические обновления, PowerShell обновляется с версии 5.0 до 5.1
  • Если оригинальная версия Windows 10 не обновлена в Центре обновления Windows, версия PowerShell будет 5.0

Download Windows Speedup Tool to fix errors and make PC run faster

In this post, we will see how to check the PowerShell version in Windows 11/10/8/7. Windows ships with Windows PowerShell 5.0. Nevertheless, it is always a good idea to use the latest version of PowerShell, as every new version introduces many new features. If you are using an earlier version of PowerShell on your Windows operating system, migrating to this version of Windows PowerShell will bring many benefits.

The PowerShell version 5.0 hosts many new features designed to make its language simpler, easier to use, and to avoid common errors.  It not only lets the system administrators manage every aspect of Windows Server OS but also offers control over SQL, Exchange, and Lync-based servers.

We have seen how you can use PowerShell to generate a list of Windows Services, generate a list of Disabled Features, Export and Backup Device Drivers, Find System Uptime, Update Windows Defender definitions, list Drives, get Installed Driver list, Uninstall Windows Store Apps, Add item to Desktop Context Menu, Create System Image, download a file and more.

To check the PowerShell version on your Windows system, type PowerShell in the taskbar search and click on the result viz. Windows PowerShell. Now use this command to check for, get and show the PowerShell version installed on your Windows computer:

$PSversionTable

You will see your version details generated and displayed.

check PowerShell version

You can see that in my case the PowerShell version is 5.0.10586.63.

Incidentally, apart from the above command, you can also use any of these 2 commands to find your version:

get-host|Select-Object version
$host.version

I hope you find them helpful.

How to update PowerShell in Windows 11/10

PowerShell is updated along with Windows Updates, and all you need is to keep Windows updated. However, you can also download it directly from GitHub by following this link. Links for other platform is also available in case you need it.

Is there an alternate to PowerShell?

There is none, but you can use the Windows Terminal if you don’t want to use the PowerShell terminal. Right-click on the desktop, and then click on Windows Terminal(Admin). This replaces the Command Prompt. Here you can execute any PowerShell command and open multiple PowerShell terminals using the tabbed interface.

What is Windows PowerShell used for?

It is a scripting language for automating tasks using the Command Line interface. It was first released in 2006 and has been used as a replacement for Command Prompt. You can also manage PC by using system management commands. As an example, PowerShell can be used to add, delete user accounts, edit groups, and more.

Anand Khanse is the Admin of TheWindowsClub.com, a 10-year Microsoft MVP (2006-16) & a Windows Insider MVP (2016-2022). Please read the entire post & the comments first, create a System Restore Point before making any changes to your system & be careful about any 3rd-party offers while installing freeware.

PowerShell 7

The accepted answer is only appropriate if one version of PowerShell is installed on a computer. With the advent of PowerShell 7, this scenario becomes increasingly unlikely.

Microsoft’s documentation states that additional registry keys are created when PowerShell 7 is installed:

Beginning in PowerShell 7.1, the [installer] package creates registry keys
that store the installation location and version of PowerShell. These
values are located in
HKLM\Software\Microsoft\PowerShellCore\InstalledVersions\<GUID>. The
value of <GUID> is unique for each build type (release or preview),
major version, and architecture.

Exploring the registry in the aforementioned location reveals the following registry value: SemanticVersion. This value contains the information we seek.

On my computer it appears like the following:

Path                                                                                           Name              Type Data
----                                                                                           ----              ---- ----
HKLM:\SOFTWARE\Microsoft\PowerShellCore\InstalledVersions\31ab5147-9a97-4452-8443-d9709f0516e1 SemanticVersion String 7.1.3

Image displaying the specified key in the Windows Registry Editor

As you can see, the version of PowerShell 7 installed on my computer is 7.1.3. If PowerShell 7 is not installed on the target computer, the key in its entirety should not exist.

As mentioned in the Microsoft documentation, the registry path will be slightly different dependent on installed PowerShell version.

Part of the key path changing could pose a challenge in some scenarios, but for those interested in a command line-based solution, PowerShell itself can handle this problem easily.

The PowerShell cmdlet used to query the data in this registry value is the Get-ItemPropertyValue cmdlet. Observe its use and output as follows (note the asterisk wildcard character used in place of the part of the key path that is likely to change):

PS> Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\PowerShellCore\InstalledVersions\*" -Name "SemanticVersion"

7.1.3

Just a simple one-liner.

Powershell logo 300x216 1

PowerShell — это мощный язык программирования и администрирования от компании Microsoft, каждый год он обрастает, все большим количество командлетов и функциональностей. По сути, это замена командной строке Windows. По умолчанию PowerShell установлен во всех версиях Windows, начиная с Windows 7 SP1 и Windows Server 2008 R2 SP1. Ниже рассмотрим как узнать какая версия у вас установлена.

Самый простой способ определить какая версия PowerShell у вас установлена с помощью команды:

img

host

PowerShell 1

img

$PSVersionTable.PSVersion

В итоге Windows 10 вывела мне версию 5.1 билд 19041.

PowerShell 2

img

Get-Host | Select-Object Version

PowerShell 3

img

(Get-Host).Version

или

img

$host.version

PowerShell 4

img

$host.version | Out-GridView

Благодаря этой команде выведется результат с версией установленной PowerShell в отдельном окне.

PowerShell 5

img

Write-Host (get-host).Version.Major (Get-Host).Version.Minor -Separator .

PowerShell 6

img

Get-Host

PowerShell 7

img

Get-Variable | where {$_.Name -Like ‘*version*’} | %{$_[0].Value}

PowerShell 8

Как проверить версию PowerShell через реестр Windows

Любые команды из оболочки или cmd, всего лишь обращаются к разделам реестра Windows и берет от туда нужную информацию. В реестре есть ветка:

img

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\ PowerShellEngine

Тут будет ключ реестра PowerShellVersion.

PowerShell 9

Нажмите на звезду, чтобы оценить!

Прочитали: 403

Другие наши интересноые статьи:

  • Как узнать версию агента обновления windows
  • Как узнать версию windows server
  • Как узнать версию postgresql windows
  • Как узнать адрес сетевого диска windows 10
  • Как узнать версию windows в iso файле

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии