Что такое powershell?

Windows powershell: что это за программа

Как запустить PowerShell в Windows 10

Достаточно нажать сочетание Win+X и в контекстном меню Пуск выбрать Windows PowerShell (администратор). В последних версиях операционной системы командная строка была заменена на Windows PowerShell. Можно в параметрах заменить командную строку оболочкой Windows PowerShell в меню, которое появляется при щелчке правой кнопкой мыши по кнопке Пуск.

В поисковой строке введите Windows PowerShell и в результатах выберите Запуск от имени администратора. Для внесения изменений в систему рекомендуется запускать вышеуказанную оболочку только от имени администратора. Непосредственно с командной строки можно вызвать оболочку Windows PowerShell, выполнив команду PowerShell.

А также можно запустить Windows PowerShell в определённой папке. Достаточно зажать клавишу Shift и в контекстном меню выбрать Открыть окно PowerShell здесь. В предыдущих версиях операционной системы вместо PowerShell был доступный пункт командной строки. Для перехода в командную строку в окне Windows PowerShell выполняем команду Cmd.

Основные команды для PowerShell

В программе поддерживается огромное количество команд, применяемых к различным компонентам операционной системы Windows 10. Хорошо что есть возможность получить справку о любой команде непосредственно в окне программы Windows PowerShell. Это поможет разобраться с основными командами и принципами работы в новой среде.

  • Get-Help — отображение справочных сведений о командлетах и основных понятиях. В справке описываются командлеты, функции, сценарии и модули, а также объясняются основные понятия, в том числе элементы языка Windows PowerShell.
  • Update-Help — загрузка и установка файлов справки с общей папки или Интернета. После обновлений операционной системы может понадобиться обновление справки — обнаружение, скачивание и установка обновлений для модулей.
  • Get-Command — вывод всех доступных функций и командлетов, с авто заполнением строки. Выбрав интересующую команду, выполните её с Get-Help для быстрого получения справки. Например, ознакомится с Get-Help Remove-AppxPackage.

Заключение

На самом деле Windows PowerShell — это очень полезная программа, которая не раз экономила нам время. Множество инструкций писались на примерах с её использованием. Но даже половина возможностей обновлённой оболочки не была задействована. О работе в ней можно написать значительно больше. Но благодаря основным командам можно ознакомиться со всеми возможностями программы.

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

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

host

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

или

$PSVersionTable

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

$PSVersionTable.PSVersion.major

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

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

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

(Get-ItemProperty -Path HKLM:SOFTWAREMicrosoftPowerShell3PowerShellEngine -Name ‘PowerShellVersion’).PowerShellVersion

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

(Get-ItemProperty -Path HKLM:SOFTWAREMicrosoftPowerShell1PowerShellEngine -Name ‘PowerShellVersion’).PowerShellVersion

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

(Get-ItemProperty -Path HKLM:SOFTWAREMicrosoftPowerShellCoreInstalledVersions* -Name ‘SemanticVersion’).SemanticVersion

Как установить Powershell 6.0

Эта новая версия Powershell не предлагает альтернативы обновления, как предыдущие версии, то есть те, которые идут от 1.0 до 5.0.

Чтобы использовать 6.0, необходимо отключить версию, которая установлена ​​в данный момент, для этого процесс удаления будет объяснен ниже:

Будет использована следующая команда, которая должна быть написана на синем экране: Disable-WindowsOptionalFeature-Online-FeatureNameMicrosoftWindowsPowershellV (укажите номер версии, которая у вас есть) Root и нажмите клавишу «Ввод»

Теперь на компьютере больше не будет установлен ни одна версия Powershell, с этого момента мы приступим к установке новой версии 6.0.

В качестве начального шага вы должны ввести следующий адрес через Интернет: https://github.com/PowerShell/PowerShell. Появится меню с надписью «Закрыть или загрузить», нажмите его и перейдите к «Загрузить ZIP». Откроется окно, вы дождетесь завершения загрузки, перейдите в раздел «Загрузки» и, когда найдете загруженный файл, щелкните по нему правой кнопкой мыши, затем откроется небольшой прямоугольник, в котором вы нажмете «Извлечь здесь». Теперь вам просто нужно Откройте файл установщика и выполните действия, указанные системой.

После завершения этой процедуры необходимо будет перейти к кнопке запуска Windows и войти в диспетчер команд Powershell, в котором необходимо ввести следующий путь: $ psVersionTable и нажать «Enter».

Теперь вы должны подождать, пока вся информация о недавно установленной версии 6.0 будет отображена на экране.

Если вы хотите узнать или проверить количество команд, включенных в версию 6.0, вы будете использовать команду:

Get-Command | Measure-Object

Затем вы должны нажать «Enter», это должно означать, что есть 432 команды PowerShell для выполнения такого же количества действий на компьютере.

Мы рекомендуем прочитать следующие уроки:

На этом мы заканчиваем наши уроки о том, как узнать версию вашей оболочки. Вы нашли это полезным? Конечно, вы заинтересованы в том, чтобы взглянуть на наш раздел учебных пособий. Увидимся в следующем!

Разница между cmd и PowerShell: не только в цветах.

Более могущественная, и столь же усложнённая. В один ряд с терминалом Линукс по своей многозадачности её ставить нельзя: мелко плавает. Но по сравнению с cmd она может гораздо больше, и это на фоне того факта, что практически всё, что может cmd , прокатит и в PowerShell . Однако для работы с shell придётся использовать уже отдельный вид команд, которые, дабы на русском не звучало косноязычно, переводчики назвали “командлетами”. В отличие от cmd , в shell команды исполняются по нескольким каналам. Это значит, что выход одной команды (в смысле, командлета) может быть одновременно входом в другую. И всё потому, что командлеты PowerShell – это вполне себе определённые объекты, представители конкретной структуры данных. Даже те командлеты, которые встречают в ответе shell на запрос пользователя. Выражаясь языком программистов, PSH – объектно-ориентированный, а cmd обрабатывает только символы или последовательность символов. Проще говоря, PowerShell позволяет работать с некоторыми программами изнутри, в режиме реального времени, интерактивно. Cmd , в сущности, может только запускать утилиты, которые в Windows уже существуют (почти все они в папке C:Windows).

Более того, PowerShell – это вполне себе законченная среда для написания и исполнения скрипта. Так что можно создавать очень сложные и объёмные скрипты для управления системой, чем те, на какие была способна консоль cmd .

Основная разница между PowerShell и cmd в том, что последняя – это обновлённая версия “отжившей” в своё время программной оболочки DOS, а в первую, как видно, Windows вдыхает новую жизнь. Очевидно демонстрируя, что от DOS команд разработчики отказываться вообще не собираются. Сравнение с DOS уже неверно, та очень ограничена в своих возможностях; cmd существовала в Windows как “наследие DOS для избранных” или ремонтный, прямой вариант самых необходимых команд. А ввод в работу PowerShell – это как своеобразное предложение, если не покопаться во внутренностях системы, то поучаствовать в изучении её возможностей и способ заняться её модификацией вполне официально: интеграция в среду .Net тому подтверждение.

PowerShell ISE

Для того что бы не навредить системе и проверить работоспособность скрипта, разработку, отладку и тестирование удобно проводить в специальной среде. PowerShell ISE дает такую возможность. Интерфейс приложения разделен на 3 части. В верхней части вы можете добавлять код, в нижней части получать вывод команд, а правая часть является своеобразной справкой. В ней вы можете подсмотреть необходимые для процесса командлеты. Более того в этой среде реализованы различные функции, такие как подсветка синтаксиса, конструктор команд и авто заполнение, что существенно облегчает программирование.

История версий 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

Хочу отметить, что вы можете установить самую свежую версию языка управления даже в самой старой Windows 7. Подробнее про функционал в каждой версии вы можете посмотреть в Википедии (https://en.wikipedia.org/wiki/PowerShell#PowerShell_1.0)

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

Если у вас установлена служба Active Directory и вы понимаете все плюсы домена, то вы можете удаленно посмотреть версию PowerShell. Выполните команду в оболочке пошика:

Invoke-Command -Computername client001.root.pyatilistnik.org -Scriptblock {$PSVersionTable.psversion}

Можно для нескольких компьютеров в домене. Сначала получите список имен компьютеров, запустив Get-ADComputer. Затем используйте список, чтобы получить версию powershell для всех компьютеров.

$adcomputer=(Get-ADComputer -Filter *).Name

Invoke-Command-ComputerName $adcomputer-Scriptblock{$PSVersionTable.psversion} -ErrorAction SilentlyContinue

Думаю вы разобрались, как узнать версию PowerShell. Далее я вам советую, произвести установку обновлений, если вы выяснили, что у вас не последняя версия. Это процесс подробно описан в данной статье. С вами был Иван Семин, автор и создатель IT блога Pyatilistnik.org.

Движение силы

Microsoft TechNet имеет большую коллекцию руководств, примеров и ссылок на репозитории кода (например, GitHub). Отличное место, чтобы начать свое путешествие. Недавно новый Приложение Windows Terminal для Windows 10 был выпущен, что действительно смутило многих пользователей. Тем не менее, Microsoft имеет ясно дал понять что CMD здесь остаться. Это имеет смысл видеть, сколько пользователей все еще используют CMD в качестве инструмента командной строки по умолчанию.

Следующий: Ищете некоторые советы и рекомендации CMD? Нажмите на ссылку ниже, чтобы найти список 11 интересных команд CMD.

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

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

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

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

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

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

Invoke-Command -ComputerName (Get-Content C:PSservers.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″ }

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

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

Знакомство с PowerShell.

Итак, на компьютерном языке Shell – это пользовательский интерфейс, который позволяет получить доступ к службам самой ОС-и. Этот shell может иметь и вариант консоли (как мы его знаем), а может иметь и более дружелюбный интерфейс – оформленный в окна с кнопочками, по которым можно тыцкать мышкой ( PowerShell ISE ). Windows PowerShell работает именно с ОС от Microsoft последних версий, основан на среде .NET framework. Первая версия Windows PSH появилась почти сразу после выпуска Windows XP, в ноябре 2006 г. Его основное призвание – автоматизация ежедневных задач и процессов, запускаемых администратором системы.

Можно выделить несколько первых команд, с помощью которых можно познакомиться с оболочкой в общих чертах (а не просто смотреть на пустую консоль с синюшним фоном).

Справка как она есть. Русифицирована. Информацию о командах получаем отсюда.

Основные командлеты PSH. Сама по себе командлет вам не даст ничего, однако для начала можно было бы ознакомиться с её именем и исполнительным модулем. Например, если нужно увидеть командлеты, работающие с IP функциями или просто сетевые командлеты, мы можем попросить у get-command:

Остановлюсь. Командлетов сотни, а может и тысячи. Понимая это, Microsoft ввела в работу целый сервис, который позволяет в режиме онлайн компоновать атрибуты команд в командлеты и проверять их работоспособность. Знакомьтесь: Windows PowerShell Command Builder .

Разница между CMD и PowerShell

CMD в основном используется системными администраторами для обработки пакетных файлов, устранения некоторых распространенных ошибок и исправления поврежденных системных файлов.

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

Вот где & lsquo; командлеты & rsquo; прийти. Это группа команд, которые пользователи могут выполнять с помощью одной команды. Эта группа команд называется скриптами. В CMD вы должны подождать, пока предыдущая команда не будет полностью выполнена, прежде чем дать следующую. PowerShell экономит время и позволяет автоматизировать использование сценариев таким образом.

В то время как CMD может работать только с текстом, PowerShell отказался от командной строки Linux, а также может работать с конвейерами. Каналы позволяют одному командлету обмениваться даже сложными данными (вывод) с другим командлетом (ввод). Это позволяет администраторам манипулировать и передавать данные между различными программами и даже компьютерами в сети, выполняя командлеты в определенной последовательности.

Не заблуждайтесь, хотя PowerShell – мощный инструмент, он нигде не обладает такими мощными инструментами, как некоторые инструменты командной строки, которые поддерживаются в дистрибутивах под Linux.

Также на Guiding Tech

Check Version of PowerShell on Remote Computers

To check the PowerShell version on a remote host, use the value of the $PSVersionTable environment variable or get the information from the registry directly. Other methods may return incorrect data.

You can get the PowerShell version installed on a remote computer via PowerShell Remoting using the Invoke-Command cmdlet:

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

You can get the installed PowerShell versions on multiple computers using the following script (the list of remote computers must be specified as a plain text file):

Or you can get a list of domain computers via Get-ADComputer and remotely check the PowerShell versions on them:

If your PowerShell script uses features of a specific PS version, you can force your script to switch to a different PowerShell version. For example, to run a console in PowerShell v3 mode, run this command (.Net Framework 3.5 must be installed):

It may be important to know your PowerShell version if you run scripts or commands that use the cmdlets or features of a specific PS version. If you want to detect the installed PowerShell version in the script and use cmdlets based on it, you can run the following PS script:

In the next article, we’ll take a look at how to update the PowerShell version in Windows.

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

По умолчанию PowerShell устанjвлен во всех версиях 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 – это усовершенствованная версия CMD. Он используется для автоматизации задач системного администрирования, которые недоступны из CMD. Также он используется для запуска внешних программ, таких как ping и copy. Кроме того, это инструмент командной строки, который построен на платформе .NET. Более того, он имеет больше возможностей, чем обычные CMD.

Рисунок 1: PowerShell

Кроме того, PowerShell позволяет системным администраторам выполнять административные задачи в операционных системах Windows. Он предоставляет набор команд для написания мощных сценариев для выполнения этих задач.Сценарии автоматизации PowerShell известны как «командлеты». Кроме того, PowerShell может интерпретировать как пакетные команды, так и команды PowerShell.

Как запустить PowerShell в Windows 10

Достаточно нажать сочетание Win+X и в контекстном меню Пуск выбрать Windows PowerShell (администратор). В последних версиях операционной системы командная строка была заменена на Windows PowerShell. Можно в параметрах заменить командную строку оболочкой Windows PowerShell в меню, которое появляется при щелчке правой кнопкой мыши по кнопке Пуск.

В поисковой строке введите Windows PowerShell и в результатах выберите Запуск от имени администратора. Для внесения изменений в систему рекомендуется запускать вышеуказанную оболочку только от имени администратора. Непосредственно с командной строки можно вызвать оболочку Windows PowerShell, выполнив команду PowerShell.

А также можно запустить Windows PowerShell в определённой папке. Достаточно зажать клавишу Shift и в контекстном меню выбрать Открыть окно PowerShell здесь. В предыдущих версиях операционной системы вместо PowerShell был доступный пункт командной строки. Для перехода в командную строку в окне Windows PowerShell выполняем команду Cmd.

Узнайте, какая версия Powershell установлена ​​на компьютере

Поскольку Powershell был включен в системы Windows дизайнерами и разработчиками, важно знать, какая версия включена в оборудование. Этот процесс, чтобы узнать версию довольно прост и будет объяснен ниже:

Этот процесс, чтобы узнать версию довольно прост и будет объяснен ниже:

Сначала необходимо войти в область поиска Windows и ввести Powershell. Затем откроется окно с названием программы « Windows Powershell», в которой необходимо щелкнуть правой кнопкой мыши и выбрать «Запуск от имени администратора». синий экран команды, там вы должны написать следующее: get-host и нажмите клавишу «Ввод». На экране автоматически отобразится серия информации о версии.

Если вы хотите получить гораздо более подробную информацию, рекомендуется использовать команду: $ PSVersionTable при нажатии «Enter» отображается следующее:

PSversion: точная версия Windows Powershell, которая установлена, показана здесь. WSManStackVersion: эта ссылка отражает стековую версию управления веб-службами. SerializationVersion: здесь вы можете узнать точную версию, соответствующую методу сериализации. BuildVersion: вы сможете узнать версию сборки, соответствующую используемой в данный момент Windows Powershell. PSCompatibleVersion: этот раздел указывает все те версии Windows Powershell, которые поддерживаются текущей версией, которая используется.

Стоит отметить, что если вы пытаетесь узнать, какая версия Powershell включена, и вы не можете ее визуализировать, то это потому, что это тип 1.0, потому что это версия 2.0, где синий экран со всеми содержание со ссылкой на этого администратора.

Команду get-host также можно использовать , но из опции редактора скриптов PowerGui можно получить гораздо более подробную информацию о характеристиках Powershell, найденных на компьютере.

Понравилась статья? Поделиться с друзьями:
Быть в курсе нового
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: