about_PSResourceGet
简短说明
介绍如何使用 Microsoft.PowerShell.PSResourceGet 模块的版本 1.1.0-rc1。
长说明
Microsoft.PowerShell.PSResourceGet 是完全用 C# 编写的 PowerShellGet 模块的更新版本。
此版本的 PowerShellGet 重点介绍几个关键领域:
- 简化代码库,以便更轻松地增强和修复 bug
- 删除 PackageManagement 模块上的依赖项,并直接使用 NuGet 库
- 解决长期存在的可用性问题,这些问题将是 v2 的重大更改
- 通过单独的兼容性模块维护写入的 v2 的现有脚本的兼容性
- 提高搜索和安装性能
设计更改
以前版本的 PowerShellGet 具有单独的命令来处理模块和脚本。 在 Microsoft.PowerShell.PSResourceGet中,PowerShell 库中的所有包都定义为 PSResource 对象。
下表显示了 PowerShellGet v3 及其 v2 等效项中提供的 cmdlet。
Microsoft.PowerShell.PSResourceGet | PowerShellGet 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 |
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 具有 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": {}
}