about_PSResourceGet

簡短描述

描述如何使用 Microsoft.PowerShell.PSResourceGet 模組的 1.0.3 版。

完整描述

Microsoft.PowerShell.PSResourceGet 是以 C# 完全撰寫的 PowerShellGet 模組更新版本。

此版本的 PowerShellGet 著重於幾個主要領域:

  • 簡化程式代碼基底,讓您更輕鬆地增強和修正 Bug
  • 拿掉 PackageManagement 模組的相依性,並直接使用 NuGet 連結庫
  • 解決從 v2 中斷性變更的長期可用性問題
  • 針對預期 v2 透過個別相容性模組撰寫的現有腳本維持相容性
  • 改善搜尋和安裝效能

設計變更

舊版 PowerShellGet 有個別的命令可搭配模組和腳本使用。 在 Microsoft.PowerShell.PSResourceGet 中,PowerShell 資源庫 中的所有套件都會定義為 PSResource 物件。 這會將 2.x 版中的 26 個 Cmdlet 數目減少為 0.9 版中的 18 個。

下表顯示 PowerShellGet v3及其 v2 對等專案的 Cmdlet。

Microsoft.PowerShell.PSResourceGet PowerShellGet v2
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, ] 作為版本範圍。

依必要資源搜尋

Cmdlet 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": {}
}

另請參閱