PowerShell против PowerShell Core, что вам нужно знать

Microsoft объявила о доступности PowerShell Core 6.0 10 января 2018 года.

PowerShell Core - это новая версия PowerShell, оболочки командной строки и языка сценариев, которая поставляется с Microsoft Windows.

Выпуск PowerShell Core увеличивает количество выпусков PowerShell до двух. Существует десятилетняя PowerShell, которая интегрирована во все последние версии операционной системы Microsoft Windows и новое ядро ​​PowerShell.

Microsoft рассматривает PowerShell Core как эволюцию PowerShell. Первый доступен как кроссплатформенное приложение, последний только для Windows.

Кроссплатформенная природа PowerShell Core означает, что написанные вами сценарии будут работать в любой поддерживаемой операционной системе. Вы можете писать сценарии PowerShell Core для Windows и использовать их на поддерживаемых устройствах Mac OS X или Linux. Существуют даже экспериментальные (неподдерживаемые) версии для устройств ARM.

Microsoft активно работает над PowerShell Core. С другой стороны, PowerShell находится в состоянии, которое лучше всего сравнить с расширенной поддержкой версий Windows. Microsoft не планирует добавлять функции в PowerShell, но выпустит исправления критических ошибок и обновления безопасности.

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

PowerShell Core устанавливается бок о бок в Windows. Вкратце: PowerShell Core никак не влияет на Windows PowerShell на устройствах Windows.

PowerShell Core 6.0 не так мощен, как PowerShell 5.1. Одна из основных причин этого заключается в том, что PowerShell имеет доступ к .NET Framework и .NET Standard, а PowerShell Core - к менее многофункциональным .NET Core и .NET Standard.

Некоторые технологии, доступные для Windows PowerShell, не поддерживаются .NET Core. Microsoft отмечает, что некоторые технологии могут вернуться в будущих выпусках, но это не будет иметь место для всех из них.

Компания особо отмечает рабочие процессы PowerShell, оснастки PowerShell, командлеты WMlv1 и выполнение ресурсов конфигурации требуемого состояния. Последние изменения в документе PowerShell 6.0 содержат дополнительную информацию.

Различия между PowerShell и PowerShell Core

PowerShellPowerShell Core
ВерсииОт 1, 0 до 5, 16, 0
платформыТолько Windows (клиент и сервер)Windows, Mac OS, Linux
зависимость.NET Framework.Net Core
использованиеПолагается на .Net Framework время выполненияПолагается на .Net Core время выполнения
Запущен какpowershell.exepwsh.exe (Windows), pwsh (Mac и Linux)
$ PSVersionTable.PSEditionУстановить на рабочий столУстановить в ядро
Обновление политикиисправления только критических ошибоквсе обновления (особенности, ошибки)

Загрузки PowerShell Core

  • PowerShell Core для Windows доступен по этой ссылке.
  • PowerShell Core для Mac OS X и Linux доступен по этой ссылке.