Как узнать версию Powershell, за минуту
Как узнать версию Powershell, за минуту
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз мы с вами рассмотрели методы открытия PowerShell в операционных системах Windows. Представим себе ситуацию, что вы прочитали статью, в которой рассказывалось решение какой-то проблемы с помощью скрипта PowerShell и новых командлетов. Вы пытаетесь все это дело повторить. но у вас выскакивает ошибка, что командлетов не обнаружено. Такая ситуация получается по ряду причин и самая распространенная, это старый выпуск оболочки. В данной статье мы рассмотрим, как посмотреть версию PowerShell и при необходимости обновить ее до последней версии.
История версий PowerShell
Перед тем, как вы научитесь проверять версию вашего мощного языка, я бы хотел вас познакомить с историей его релиза, так как это позволит уже приблизительно понять, что у вас за релиз.
- PowerShell версии 1 — вышел в 2006 году, и был включен в состав Windows Server 2003 SP1 и как для меня стало удивительным в будущем аж в сам XP.
- PowerShell версии 2.0 — появился в легендарной операционной системе Windows 7 и Windows Server 2008 R2. Большая часть людей стала с ним знакомится именно с данных времен.
- PowerShell версии 3.0 — Стал доступен с выходом Windows 8 и Windows Server 2012.
- PowerShell версии 4.0 — Вошел в состав Windows 8.1 и Windows Server 2012 R2.
- PowerShell версии 5.0 — Вышел в 2016 году. Данный релиз не привязывался к конкретной ОС.
- PowerShell версии 5.1 — Стал частью Windows Server 2016 и Windows 10, в январе 2017 года.
- PowerShell версии 6.0 — Идет в составе Windows 10 1703 и Windows Server 2019
Как проверить версию PowerShell из оболочки
Самый быстрый метод установить, с какой версий пошика вы работаете, это открыть саму оснастку и воспользоваться различными командлетами, которые в мгновение ока выведут вам подробнейшую информацию. Введите команду:
В итоге моя Windows 10 1803 вывела мне версию 5.1 билд 17134.
Та же команда, но уже в Windows 8.1.
Можно применить вот такой метод проверить версию PowerShell:
В результате я получил строку результата вот такого вида 5.1.17134.407.
Есть еще несколько команд:
Благодаря команде $host.version | Out-GridView вы выведете результат с версией установленной PowerShell в вашей системе, в красивом отдельном окне.
Еще чуть не забыл вот такой метод:
Посмотреть версию PowerShell можно и простенькой командой Get-Host.
Версия PowerShell прекрасно выводится и вот таким кодом:
Как проверить версию PowerShell через реестр Windows
Я вам не перестаю повторять, что любые команды из оболочки или cmd, всего лишь обращаются к разделам реестра Windows и берет от туда нужную информацию. В реестре есть ветка:
Тут будет ключ реестра PowerShellVersion.
Как получить версию PowerShell на удаленных хостах в домене
Если у вас установлена служба Active Directory и вы понимаете все плюсы домена, то вы можете удаленно посмотреть версию PowerShell. Выполните команду в оболочке пошика:
Можно для нескольких компьютеров в домене. Сначала получите список имен компьютеров, запустив Get-ADComputer. Затем используйте список, чтобы получить версию powershell для всех компьютеров.
Как узнать версию Powershell
Для определения версии Powershell есть с десяток вариантов. Обычно это нужно для проверки работы скриптов и команд. На примерах мы рассмотрим: как проверять версию PS, как работать с версией ниже и как узнать версию команд.
В зависимости от версии у вас сработает одна из команд:
Ниже можно посмотреть версии Powershell, с которыми уже идет операционная система и до какой версии мы можем обновить Powershell. В случае с Windows 7 версия Powershell 3.0:
Если вы хотите обновить оболочку PS, то вбейте в поиске, например, «windows management framework 5.1» и установите файл скаченный с сайта Microsoft.
Другая ситуация, когда мы не можем обновить Powershell. В таком случае у нас есть вариант запустить версию Powershell 2. Дело в том, что версии PS 3 и 4 обратно совместимы со скриптами версии 2. Для изменения версии вбейте в консоли:
Указанная версия будет работать до тех пор, пока сеанс открыт.
С версии PS 5.0 появилась возможность получения информации по версии командлета:
Не могу с уверенностью сказать, что эта цифра хоть как-то указывает на редакцию Powershell в которой этот командлет впервые появился. Возможно говориться о количестве выпусков с момента первого релиза, но например командлет Test-NetConnection появился в Powershell 4, но в PS 5.1 его версия 1.0:
Противоположная ситуация со сторонними модулям, для примера модуль SQLServer имеет версию 21.
Если вы пишете исполняемый скрипт, то можете использовать следующий функционал, который определит какая версия Powershell установлена и в зависимости от этого выполнит разную работу с объектами:
Как узнать версию Powershell и Windows в командной строке?
Через командную строку в Windows можно выполнить множество действий, у которых есть аналог в виде интерфейса. В «десятке» разработчики добавили улучшенную версию программы. В приведенной ниже статье мы расскажем, как узнать версию Powershell.
Запуск программы
Для начала необходимо открыть приложение. Для этого можно воспользоваться поисковой строкой в меню «Пуск» — самый простой вариант. В поиске впишите название — Windows Powershell, и запустите программу привычным способом.
Перед вами появится практически стандартная командная строка. Внешние отличия приложения — в измененном цвете окна, а также в подсвечивании команд разных уровней.
Как узнать версию Powershell?
Версию приложения можно определить при помощи него же. Для этого потребуется ввод специальной команды. Вам необходимо перейти в окно и ввести в строку $host.version, после чего нажать на клавишу Enter для применения. В результате на экране появится небольшая таблица, в которой нам нужны значения Build и Revision.
Однако чтобы узнать больше информации, лучше воспользоваться командой $PSVersionTable. После применения этой строки вы увидите большую таблицу с множеством значений. Второй сверху строкой является Version, напротив которой и указана нужная версия приложения.
Узнаем версию Windows
Можно узнать версию Windows в Powershell при помощи другой команды. Принцип действий тот же — вы вписываете строку на английском языке и жмете Enter. Для этого откройте окно командной строки и введите winver. После этого появится отдельное окно, в котором будет необходимая информация об операционной системе, включая версию и сборку.
Также есть еще одна команда — systeminfo. Она не открывает дополнительное окно, а показывает таблицу с информацией внутри самой Powershell. Здесь вы найдете данные об операционной системе, процессоре, BIOS, сетевых адаптерах и многом другом.
Последний вариант — команда WMIC. В ней также можно определить версию Windows, но в немного неудобном формате. Дело в том, что данные будут отображаться в беспорядочном расположении, поэтому найти нужные значения вам придется самостоятельно.