about_PSResourceGet

Краткое описание

Описание использования модуля Microsoft.PowerShell.PSResourceGet версии 1.0.3 .

Подробное описание

Microsoft.PowerShell.PSResourceGet — это обновленная версия модуля PowerShellGet , полностью написанная на C#.

Эта версия PowerShellGet посвящена нескольким ключевым областям:

  • Упрощение базы кода, упрощая улучшение и исправление ошибок
  • Удалите зависимость от модуля PackageManagement и используйте библиотеку NuGet напрямую.
  • Устранение давних проблем с удобством использования, которые могут нарушить изменения в версии 2
  • Обеспечение совместимости для существующих скриптов, написанных в режиме ожидания версии 2 с помощью отдельного модуля совместимости
  • Повышение производительности поиска и установки

Изменения в дизайне

В предыдущих версиях PowerShellGet были отдельные команды для работы с модулями и скриптами. В Microsoft.PowerShell.PSResourceGet все пакеты в коллекция PowerShell определяются как объекты PSResource. Это сокращает число командлетов с 26 в версии 2.x до 18 в версии 0.9.

В следующей таблице показаны командлеты, доступные в PowerShellGet версии 3, и их эквиваленты версии 2.

Microsoft.PowerShell.PSResourceGet PowerShellGet версии 2
Find-PSResource Find-Command
Find-PSResource Find-DscResource
Find-PSResource Find-Module
Find-PSResource Find-Script
Недоступно Find-RoleCapability
Get-InstalledPSResource Get-InstalledModule
Get-InstalledPSResource Get-InstalledScript
Get-PSResourceRepository Get-PSRepository
Get-PSScriptFileInfo Недоступно
Import-PSGetRepository Недоступно
Install-PSResource Install-Module
Install-PSResource Install-Script
New-PSScriptFileInfo New-ScriptFileInfo
Publish-PSResource Publish-Module
Publish-PSResource Publish-Script
Register-PSResourceRepository Register-PSRepository
Save-PSResource Save-Module
Save-PSResource Save-Script
Set-PSResourceRepository Set-PSRepository
Test-PSScriptFileInfo Test-ScriptFileInfo
Uninstall-PSResource Uninstall-Module
Uninstall-PSResource Uninstall-Script
Unregister-PSResourceRepository Unregister-PSRepository
Update-PSModuleManifest Update-ModuleManifest
Update-PSResource Update-Module
Update-PSResource Update-Script
Update-PSScriptFileInfo Update-ScriptFileInfo

Поиск по диапазонам версий NuGet

Несколько командлетов Microsoft.PowerShell.PSResourceGet предоставляют параметр Version , который позволяет указать диапазон версий для поиска. Параметр Version использует синтаксис управления версиями NuGet. Дополнительные сведения о диапазонах версий NuGet см. в разделе Управление версиями пакетов.

PowerShellGet поддерживает все версии, кроме минимальной инклюзивной версии , перечисленные в документации по диапазону версий NuGet. Использование 1.0.0.0 в качестве версии не дает версий 1.0.0.0 и выше (минимальный диапазон включительно). Вместо этого значение считается обязательной версией. Для поиска минимального инклюзивного диапазона используйте [1.0.0.0, ] в качестве диапазона версий.

Поиск по требуемым ресурсам

Командлет Install-PSResource имеет параметры RequiredResource и RequiredResourceFile , которые используются для поиска объектов PSResource , соответствующих определенным критериям. Критерии поиска можно указать с помощью хэш-статьи или объекта JSON. Для параметра RequiredResourceFile хэш-строка хранится в .psd1 файле, а объект JSON — в .json файле.

Хэш-диаграмма может содержать атрибуты для нескольких модулей. В следующем примере показана структура спецификации модуля:

@{
    <modulename> = @{
        version = '<version-spcification>'
        repository = '<reponame>'
        prerelease = '<boolean>'
    }
}

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

 @{
    TestModule = @{
        version = '[0.0.1,1.3.0]'
        repository = 'PSGallery'
    }

    TestModulePrerelease = @{
        version = '[0.0.0,0.0.5]'
        repository = 'PSGallery'
        prerelease = $true
    }

    TestModule99 = @{}
}

В следующем примере показана та же спецификация в формате JSON.

{
  "TestModule": {
    "version": "[0.0.1,1.3.0)",
    "repository": "PSGallery"
  },
  "TestModulePrerelease": {
    "version": "[0.0.0,0.0.5]",
    "repository": "PSGallery",
    "prerelease": "true"
  },
  "TestModule99": {}
}

См. также раздел