Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Изменения WMF 5.0
- PowerShell 5.0 добавляет новый структурированный информационный поток
- Улучшения DSC, включая четыре новых ресурса DSC:
- WindowsFeatureSet
- WindowsOptionalFeatureSet
- ServiceSet
- ProcessSet
- Добавлено JIT-администрирование для включения администрирования на основе ролей с помощью удаленного взаимодействия PowerShell
- PowerShell 5.0 расширяет язык для включения определяемых пользователем классов и перечислений.
- Улучшены функции отладки в среде сценариев PowerShell и добавлены удаленные отладки
- Добавлены модули PowerShellGet и PackageManagement
- Расширенные журналы сценариев PowerShell и расшифровки
- Добавление командлетов синтаксиса криптографических сообщений
- WMF 5.0 включает модуль NetworkSwitchManager для Windows
- Добавлен модуль Microsoft.PowerShell.ODataUtils
- Добавлена поддержка ведения журнала инвентаризации программного обеспечения (SIL)
- Использование новых или обновлений командлетов в ответ на запросы пользователей и проблемы
Изменения WMF 5.1
WMF 5.1 включает компоненты PowerShell, WMI, WinRM и журналы инвентаризации программного обеспечения (SIL), выпущенные с Windows Server 2016. WMF 5.1 можно установить в Windows 7, Windows 8.1, Windows Server 2008 R2, 2012 и 2012 R2 и обеспечивает несколько улучшений по сравнению с WMF 5.0, включая:
- Новые командлеты
- Улучшения PowerShellGet включают применение подписанных модулей и установку модулей JEA
- PackageManagement добавил поддержку контейнеров, программы установки CBS, установки на основе EXE, пакетов CAB
- Улучшения отладки для классов DSC и PowerShell
- Улучшения безопасности, включая применение модулей, подписанных каталогом, поступающих с сервера pull Server и при использовании командлетов PowerShellGet
- Ответы на ряд запросов пользователей и проблем
Важный
Перед установкой WMF 5.1 в Windows Server 2008 или Windows 7 убедитесь, что WMF 3.0 не установлен. Для получения дополнительной информации см. WMF 5.1 Требования для Windows Server 2008 R2 SP1 и Windows 7 SP1.
Выпуски PowerShell
Начиная с версии 5.1 PowerShell доступна в разных выпусках, которые указывают на различные наборы функций и совместимость платформ.
- Выпуск Desktop: создан на базе платформы .NET Framework и обеспечивает совместимость со сценариями и модулями, предназначенными для версий PowerShell в полноценных выпусках Windows, таких как Server Core и Windows Desktop.
- Выпуск Core Edition: построен на основе .NET Core и обеспечивает совместимость со скриптами и модулями, которые предназначены для версий PowerShell, выполняющихся в выпусках Windows с ограниченными возможностями, таких как Nano Server и Windows IoT.
Дополнительные сведения об использовании выпусков PowerShell
- Определение запущенного выпуска PowerShell с использованием $PSVersionTable
- Фильтрация результатов командлета Get-Module по CompatiblePSEditions с помощью параметра PSEdition
- Запрет на выполнение сценариев в несовместимых выпусках PowerShell
- Объявление совместимости модуля с определенными версиями PowerShell
Кэш анализа модулей
Начиная с WMF 5.1 PowerShell предоставляет контроль над файлом, который используется для кэширования данных о модуле, таких как команды, экспортируемые им.
По умолчанию этот кэш хранится в файле ${env:LOCALAPPDATA}\Microsoft\Windows\PowerShell\ModuleAnalysisCache. Кэш обычно считывается при запуске при поиске команды и записывается в фоновом потоке через некоторое время после импорта модуля.
Чтобы изменить расположение кэша по умолчанию, присвойте значение переменной среды $env:PSModuleAnalysisCachePath перед запуском PowerShell. Изменения в этой переменной среды влияют только на дочерние процессы. Значение должно указать полный путь (включая имя файла), который PowerShell имеет разрешение на создание и запись файлов. Чтобы отключить кэш файлов, задайте для этого значения недопустимое расположение, например:
$env:PSModuleAnalysisCachePath = 'nul'
Это задает путь к недопустимому устройству. Если PowerShell не удается записать в путь, ошибка не возвращается, но вы можете просмотреть отчеты об ошибках с помощью трассировки:
Trace-Command -PSHost -Name Modules -Expression { Import-Module Microsoft.PowerShell.Management -Force }
При написании кэша PowerShell проверяет наличие модулей, которые больше не существуют, чтобы избежать ненужных больших кэшей. Иногда эти проверки не желательны, в этом случае их можно отключить, задав следующие параметры:
$env:PSDisableModuleAnalysisCacheCleanup = 1
Установка этой переменной среды вступит в силу немедленно в текущем процессе.
Указание версии модуля
В WMF 5.1 using module работает так же, как другие связанные с модулями конструкции в PowerShell.
Ранее у вас не было способа указать определенную версию модуля; Если существует несколько версий, это привело к ошибке.
В WMF 5.1:
Вы можете использовать конструктор ModuleSpecification (Hashtable).
Она имеет тот же формат, что и
Get-Module -FullyQualifiedName.Пример:
using module @{ModuleName = 'PSReadLine'; RequiredVersion = '1.1'}Если существует несколько версий модуля, PowerShell использует ту же логику разрешения, что и
Import-Moduleи не возвращает ошибку — то же самое поведение, чтоImport-Moduleи .Import-DscResource
Улучшения Пестера
В WMF 5.1 версия Pester, которая поставляется с PowerShell, обновлена с версии 3.3.5 до 3.4.0. Это обновление позволяет улучшить поведение Пестера на Nano Server.
Вы можете ознакомиться с изменениями в Pest, проверив CHANGELOG в репозитории GitHub.