Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
КРАТКОЕ ОПИСАНИЕ
Описание новых функций, включенных в Windows PowerShell 5.0.
ПОДРОБНОЕ ОПИСАНИЕ
Windows PowerShell 5.0 включает в себя значительные новые функции, которые расширяют возможности использования, повышают удобство использования и позволяют более легко и комплексно контролировать и управлять средами на базе Windows.
Windows PowerShell 5.0 обладает обратной совместимостью. Командлеты, поставщики, модули, оснастки, скрипты, функции и профили, разработанные для Windows PowerShell 4.0, Windows PowerShell 3.0 и Windows PowerShell 2.0, обычно работают в Windows PowerShell 5.0 без изменений.
Windows PowerShell 5.0 по умолчанию устанавливается в Windows Server Technical Preview и Windows Technical Preview. Чтобы установить Windows PowerShell 5.0 в Windows Server 2012 R2, Windows 8.1 Корпоративная или Windows 8.1 Pro, загрузите и установите Windows Management Framework 5.0. Перед установкой Windows Management Framework 5.0 Preview обязательно ознакомьтесь с сведениями о загрузке и выполните все системные требования.
Вы также можете прочитать об изменениях в Windows PowerShell 5.0 в статье Новые возможности Windows PowerShell.
НОВЫЕ ФУНКЦИИ
Новые функции в Windows PowerShell
Начиная с Windows PowerShell 5.0, вы можете разрабатывать с помощью классов, используя формальный синтаксис и семантику, которые аналогичны другим объектно-ориентированным языкам программирования. Class, Enum и другие ключевые слова были добавлены в язык Windows PowerShell для поддержки новой функции. Дополнительные сведения о работе с классами см. в about_Classes.
В сотрудничестве с Microsoft Research был добавлен новый командлет ConvertFrom-String. ConvertFrom-String позволяет извлекать и анализировать структурированные объекты из содержимого текстовых строк. Дополнительные сведения см. в разделе ConvertFrom-String.
Новый модуль, Microsoft.PowerShell.Archive, включает командлеты, которые позволяют сжимать файлы и папки в архивные (также известные как ZIP) файлы, извлекать файлы из существующих ZIP-файлов и обновлять ZIP-файлы более новыми версиями файлов, сжатых в них.
Новый модуль OneGet позволяет находить и устанавливать программные пакеты в Интернете. Модуль OneGet — это диспетчер или мультиплексор существующих диспетчеров пакетов (также называемых поставщиками пакетов) для унификации управления пакетами Windows с помощью единого интерфейса Windows PowerShell.
Новый модуль, PowerShellGet, позволяет находить, устанавливать, публиковать и обновлять модули и ресурсы DSC в коллекции ресурсов PowerShell или во внутреннем репозитории модулей, который можно настроить, запустив командлет Register-PSRepository.
New-Item, Remove-Item и Get-ChildItem были улучшены для поддержки создания символических ссылок и управления ими. Параметр ItemType для New-Item принимает новое значение, SymbolicLink. Теперь вы можете создавать символические ссылки в одну строку, запустив командлет New-Item.
Транскрибирование Windows PowerShell было улучшено и теперь применяется ко всем приложениям хостинга (например, Windows PowerShell ISE) в дополнение к узлу консоли (powershell.exe). Параметры транскрибирования (включая включение расшифровки на уровне системы) можно настроить, включив параметр Включить групповую политику транскрибирования PowerShell, который можно найти в разделе Административные шаблоны/Компоненты Windows/Windows PowerShell.
Новая функция детальной трассировки сценариев позволяет обеспечить подробное отслеживание и анализ использования сценариев Windows PowerShell в системе. После включения детальной трассировки сценариев Windows PowerShell записывает все блоки сценариев в журнал событий трассировки событий Windows (ETW) Microsoft-Windows-PowerShell/Operational.
Начиная с Windows PowerShell 5.0, новые командлеты синтаксиса криптографических сообщений поддерживают шифрование и расшифровку содержимого с использованием стандартного формата IETF для криптографической защиты сообщений, как описано в RFC5652. В модуль Microsoft.PowerShell.Security добавлены командлеты Get-CmsMessage, Protect-CmsMessage и Unprotect-CmsMessage.
Новые командлеты в модуле Microsoft.PowerShell.Utility, Get-Runspace, Debug-Runspace, Get-RunspaceDebug, Enable-RunspaceDebug и Disable-RunspaceDebug, позволяют задавать параметры отладки в пространстве выполнения, а также запускать и останавливать отладку в пространстве выполнения. Для отладки произвольных пространств выполнения, т. е. пространств выполнения, которые не являются пространством выполнения по умолчанию для консоли Windows PowerShell или сеанса интегрированной среды сценариев Windows PowerShell, Windows PowerShell позволяет задавать точки останова в сценарии и использовать добавленные точки останова, останавливающие выполнение сценария до тех пор, пока вы не сможете подключить отладчик для отладки сценария пространства выполнения. В отладчик сценариев Windows PowerShell для пространств выполнения добавлена поддержка вложенной отладки для произвольных пространств выполнения.
Новые командлеты Enter-PSHostProcess и Exit-PSHostProcess позволяют отлаживать сценарии Windows PowerShell в процессах отдельно от текущего процесса, выполняемого в консоли Windows PowerShell. Запустите Enter-PSHostProcess для ввода определенного идентификатора процесса или присоединения к нему, а затем выполните Get-Runspace, чтобы вернуть активные пространства выполнения в процессе. Запустите Exit-PSHostProcess, чтобы отсоединиться от процесса после завершения отладки сценария в процессе.
В модуль Microsoft.PowerShell.Utility добавлен новый командлет Wait-Debugger. Вы можете запустить Wait-Debugger, чтобы остановить сценарий в отладчике перед выполнением следующего оператора в сценарии.
Отладчик рабочих процессов Windows PowerShell теперь поддерживает завершение команд или вкладок, а также позволяет отлаживать вложенные функции рабочего процесса. Теперь вы можете нажать клавиши Ctrl+Break, чтобы войти в отладчик в работающем сценарии, как в локальных, так и в удаленных сеансах, а также в сценарии рабочего процесса.
В модуль Microsoft.PowerShell.Core добавлен командлет Debug-Job для отладки выполняемых сценариев заданий для рабочего процесса Windows PowerShell, фона и заданий, выполняемых в удаленных сеансах.
Для заданий Windows PowerShell добавлено новое состояние, AtBreakpoint. Состояние AtBreakpoint применяется, когда задание выполняет сценарий, включающий заданные точки останова, и сценарий достиг точки останова. Если задание останавливается в точке останова отладки, необходимо выполнить его отладку, выполнив командлет Debug-Job.
В Windows PowerShell 5.0 реализована поддержка нескольких версий одного модуля Windows PowerShell в одной папке в $PSModulePath. В класс ModuleSpecification было добавлено свойство RequiredVersion, которое поможет вам получить желаемую версию модуля; это свойство является взаимоисключающим со свойством ModuleVersion. RequiredVersion теперь поддерживается как часть значения параметра FullyQualifiedName командлетов Get-Module, Import-Module и Remove-Module.
Теперь вы можете выполнить проверку версии модуля, выполнив командлет Test-ModuleManifest.
Результаты командлета Get-Command теперь отображаются в столбце «Версия»; в класс CommandInfo добавлено новое свойство Version. Get-Command показывает команды из нескольких версий одного и того же модуля. Свойство Version также является частью производных классов CmdletInfo: CmdletInfo и ApplicationInfo.
Новый командлет Get-ItemPropertyValue позволяет получить значение свойства без использования точечной нотации. Например, в более ранних выпусках Windows PowerShell можно выполнить следующую команду, чтобы получить значение свойства Application Base раздела реестра PowerShellEngine:
$keypath = 'HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine' (Get-ItemProperty -Path $keypath -Name ApplicationBase).ApplicationBase
Начиная с Windows PowerShell 5.0, вы можете запускать
$keypath = 'HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine' Get-ItemPropertyValue -Path $keypath -Name ApplicationBase
Новый модуль NetworkSwitch содержит командлеты, которые позволяют применять конфигурацию коммутатора, виртуальной локальной сети (VLAN) и базовой конфигурации портов сетевого коммутатора уровня 2 к сетевым коммутаторам с логотипом Windows Server 2012 R2 (и более поздних выпусках).
Параметр FullyQualifiedName был добавлен в командлеты Import-Module и Remove-Module для поддержки хранения нескольких версий одного модуля.
Save-Help, Update-Help, Import-PSSession, Export-PSSession и Get-Command имеют новый параметр FullyQualifiedModule типа ModuleSpecification. Добавьте этот параметр, чтобы указать модуль по его полному имени.
Значение $PSVersionTable.PSVersion обновлено до 5.0.
Новые функции настройки требуемого состояния в Windows PowerShell
Усовершенствования языка Windows PowerShell позволяют определять ресурсы конфигурации требуемого состояния (DSC) Windows PowerShell с помощью классов. Import-DscResource теперь является настоящим динамическим ключевым словом; Windows PowerShell анализирует корневой модуль указанного модуля в поисках классов, содержащих атрибут DscResource. Теперь вы можете использовать классы для определения ресурсов DSC, в которых не требуется ни MOF-файл, ни подпапка DSCResource в папке модуля. Файл модуля Windows PowerShell может содержать несколько классов ресурсов DSC.
Новый параметр, ThrottleLimit, был добавлен в следующие командлеты в модуле PSDesiredStateConfiguration. Добавьте параметр ThrottleLimit, чтобы указать количество целевых компьютеров или устройств, на которых команда должна работать одновременно.
- Get-DscConfiguration
- Get-DscConfigurationStatus
- Get-DscLocalConfigurationManager
- Restore-DscConfiguration
- Test-DscConfiguration
- Compare-DscConfiguration
- Publish-DscConfiguration
- Set-DscLocalConfigurationManager
- Start-DscConfiguration
- Update-DscConfiguration
Благодаря централизованному отчету об ошибках DSC обширная информация об ошибках не только записывается в журнал событий, но и может быть отправлена в центральное место для последующего анализа. Это центральное расположение можно использовать для хранения ошибок конфигурации DSC, которые произошли для любого сервера в их среде. После того, как сервер отчетов определен в метаконфигурации, все ошибки отправляются на сервер отчетов, а затем сохраняются в базе данных. Эту функцию можно настроить независимо от того, настроен ли целевой узел на получение конфигураций с опрашивающего сервера.
Усовершенствования интегрированной среды сценариев Windows PowerShell упрощают разработку ресурсов DSC. Теперь вы можете выполнять следующие действия.
- Перечислите все ресурсы DSC в конфигурации или блоке узла, введя Ctrl+Space в пустой строке блока.
- Автоматическое завершение по свойствам ресурса типа перечисления.
- Автоматическое завершение свойства DependsOn ресурсов DSC на основе других экземпляров ресурсов в конфигурации.
- Улучшено завершение вкладки значений свойств ресурса.
Новый атрибут DscLocalConfigurationManager обозначает блок конфигурации как метаконфигурацию, которая используется для настройки диспетчера локальных конфигураций DSC. Этот атрибут ограничивает конфигурацию только элементами, которые настраивают локальный диспетчер конфигурации DSC. Во время обработки эта конфигурация создает файл *.meta.mof, который затем отправляется на соответствующие целевые узлы с помощью командлета Set-DscLocalConfigurationManager.
Частичные конфигурации теперь разрешены в Windows PowerShell 5.0. Документы конфигурации можно доставлять на узел фрагментами. Чтобы узел мог получать несколько фрагментов документа конфигурации, необходимо сначала настроить локальный диспетчер конфигураций узла для указания ожидаемых фрагментов.
Межкомпьютерная синхронизация является новым в DSC в Windows PowerShell 5.0. С помощью встроенных ресурсов WaitFor* (WaitForAll, WaitForAny и WaitForSome) теперь можно указывать зависимости между компьютерами во время выполнения конфигурации без внешних согласований. Эти ресурсы обеспечивают синхронизацию между узлами с помощью подключений CIM по протоколу WS-Man. Конфигурация может ожидать изменения определенного состояния ресурсов другого компьютера.
Just Enough Administration (JEA), новая функция безопасности делегирования, использует ограниченные пространства выполнения DSC и Windows PowerShell для защиты предприятий от потери данных или компрометации сотрудниками, как преднамеренной, так и непреднамеренной. Дополнительные сведения о JEA, в том числе о том, где можно загрузить ресурс xJEA DSC, см. в разделе Just Enough Administration.
В модуль PSDesiredStateConfiguration были добавлены следующие новые командлеты.
- Новый командлет Get-DscConfigurationStatus получает высокоуровневую информацию о состоянии конфигурации от целевого узла. Вы можете получить статус последней, или всех конфигураций.
- Новый командлет Compare-DscConfiguration сравнивает указанную конфигурацию с фактическим состоянием одного или нескольких целевых узлов.
- Новый командлет Publish-DscConfiguration копирует файл MOF конфигурации на целевой узел, но не применяет конфигурацию. Конфигурация применяется во время следующего прохода согласованности или при выполнении командлета Update-DscConfiguration.
- Новый командлет Test-DscConfiguration позволяет проверить, соответствует ли результирующая конфигурация требуемой конфигурации, возвращая либо значение True, если конфигурация соответствует требуемой конфигурации, либо значение False, если фактическая конфигурация не соответствует требуемой.
- Новый командлет Update-DscConfiguration принудительно обрабатывает конфигурацию. Если локальный диспетчер конфигураций находится в режиме извлечения, командлет получает конфигурацию от опрашивающего сервера перед ее применением.
Новые функции интегрированной среды сценариев Windows PowerShell
- Теперь вы можете редактировать удаленные сценарии и файлы Windows PowerShell в локальной копии интегрированной среды сценариев Windows PowerShell, запустив Enter-PSSession для запуска удаленного сеанса на компьютере, на котором хранятся файлы, которые вы хотите изменить, а затем запустив
PSEdit <path and file name on the remote computer>
. Эта функция упрощает редактирование файлов Windows PowerShell, хранящихся в параметре установки ядра сервера Windows Server, где интегрированная среда сценариев Windows PowerShell не может работать. - Командлет Start-Transcript теперь поддерживается в интегрированной среде сценариев Windows PowerShell.
- Теперь вы можете отлаживать удаленные сценарии в интегрированной среде сценариев Windows PowerShell.
- Новая команда меню, Break All (Ctrl+B), прерывает работу отладчика как для локальных, так и для удаленно выполняемых скриптов.
Новые функции в веб-службах Windows PowerShell (расширение OData IIS для управления)
- Начиная с Windows PowerShell 5.0, можно создать набор командлетов Windows PowerShell на основе функциональных возможностей, предоставляемых данной конечной точкой OData, выполнив командлет Export-ODataEndpointProxy.
Важные исправления ошибок в Windows PowerShell 5.0
- В состав Windows PowerShell 5.0 входит новая реализация COM, которая обеспечивает значительное повышение производительности при работе с объектами COM.
Дополнительные сведения о Windows PowerShell 5.0 см. на следующих веб-сайтах:
- Веб-сайт, посвященный сценариям Windows PowerShell
- Блог группы разработчиков Windows PowerShell
- Веб-доступ Windows PowerShell
СМОТРИТЕ ТАКЖЕ
about_Desired_State_Configuration
Set-ExecutionPolicy (Set-ExecutionPolicy)
Invoke-RestMethod (Invoke-RestMethod)
Set-ScheduledJob (Задание по расписанию)
New-JobTrigger (Новый триггер задания)
Register-ScheduledJob (Регистр-ScheduledJob)
КЛЮЧЕВЫЕ СЛОВА
Новые возможности Windows PowerShell 5.0