通过


about_PSResourceGet

简短说明

描述如何使用 Microsoft.PowerShell.PSResourceGet 模块的 1.2.0 版本。

详细说明

Microsoft.PowerShell.PSResourceGetPowerShellGet 模块的更新版本,完全用 C# 编写,相比之前版本的 PowerShellGet 提供了以下优势:

  • 简化了代码库,使得改进和修复错误变得更容易
  • 消除对 PackageManagement 模块的依赖,直接使用 NuGet API。
  • 解决了长期存在的可用性问题,如果在 PowerShellGet v2中进行更改,这些问题会造成破坏性
  • 提升搜索和安装性能

首次使用 Microsoft.PowerShell.PSResourceGet 时,模块会将 PowerShell Gallery 注册为 PSResource 仓库。 默认情况下,PSGallery仓库注册优先级为50,并被标记为不可信。 请使用以下命令信任PSGallery仓库:

Set-PSResourceRepository -Name PSGallery -Trusted -PassThru

设计变更

以前版本的 PowerShellGet 具有单独的命令来处理模块和脚本。 在 Microsoft.PowerShell.PSResourceGet中,PowerShell 库中的所有包都定义为 PSResource 对象。

下表展示了 Microsoft.PowerShell.PSResourceGet 及其 PowerShellGet v2 版本中可用的 cmdlet。

Microsoft.PowerShell.PSResourceGet PowerShell获取 v2
Compress-PSResource n/a
Find-PSResource Find-Command
Find-PSResource Find-DscResource
Find-PSResource Find-Module
Find-PSResource Find-Script
n/a Find-RoleCapability
Get-InstalledPSResource Get-InstalledModule
Get-InstalledPSResource Get-InstalledScript
Get-PSResourceRepository Get-PSRepository
Get-PSScriptFileInfo n/a
Import-PSGetRepository n/a
Install-PSResource Install-Module
Install-PSResource Install-Script
New-PSScriptFileInfo New-ScriptFileInfo
Publish-PSResource Publish-Module
Publish-PSResource Publish-Script
Register-PSResourceRepository Register-PSRepository
Reset-PSResourceRepository n/a
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 cmdlet 提供了 Version 参数,可用于指定要搜索的版本范围。 Version 参数使用 NuGet 版本控制语法。 有关 NuGet 版本范围的详细信息,请参阅 包版本控制

PowerShellGet 支持 NuGet 版本范围文档中列出的所有 最低非独占版本。 使用 1.0.0.0,因为版本不会生成版本 1.0.0.0 及更高版本(最低非独占范围)。 相反,该值被视为所需的版本。 若要搜索最小非独占范围,请使用 [1.0.0.0, ] 作为版本范围。

按所需资源搜索

Install-PSResource cmdlet 具有 RequiredResourceRequiredResourceFile 参数,这些参数用于查找与特定条件匹配 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": {}
}

另请参阅