DSC PackageManagement 資源
適用於:Windows PowerShell 4.0、Windows PowerShell 5.0、Windows PowerShell 5.1
Windows PowerShell 預期狀態設定 (DSC) 中的 PackageManagement 資源,提供在目標節點上安裝或解除安裝「套件管理」套件的機制。 此資源需要 PackageManagement 模組,可從 https://PowerShellGallery.com 取得。
重要
PackageManagement 模組至少應為 1.1.7.0 版,以下才是正確的屬性資訊。
注意
此 DSC 資源的本檔涵蓋 7.2 版之前 PowerShell 隨附的版本。 PSDscResources模組包含 Microsoft 正式支援的全新和更新 DSC 資源。 PSDscResources 模組可從 PowerShell 資源庫中取得。
如需詳細資訊和更新的檔,請參閱 PSDscResources 參考檔。
語法
PackageManagement [string] #ResourceName
{
Name = [string]
[ AdditionalParameters = [HashTable] ]
[ DependsOn = [string[]] ]
[ Ensure = [string]{ Absent | Present } ]
[ MaximumVersion = [string] ]
[ MinimumVersion = [string] ]
[ ProviderName = [string] ]
[ PsDscRunAsCredential = [PSCredential] ]
[ RequiredVersion = [string] ]
[ Source = [string] ]
[ SourceCredential = [PSCredential] ]
}
屬性
屬性 | 描述 |
---|---|
名稱 | 指定要安裝或解除安裝之套件的名稱。 |
AdditionalParameters | 針對將傳至 Get-Package -AdditionalArguments 的參數,特定提供者的雜湊表。 例如,針對 NuGet 提供者,您可以傳遞其他參數,例如 Destination。 |
MaximumVersion | 指定所要尋找套件的最高允許版本。 如果不加入此參數,資源便會尋找可用的最高版本套件。 |
MinimumVersion | 指定所要尋找套件的最低允許版本。 如果不加入此參數,資源便會尋找可用的最高版本套件,同時也會滿足 MaximumVersion 參數所指定的最高指定版本。 |
ProviderName | 指定套件提供者名稱,以針對它設定套件搜尋的範圍。 您可以執行 Get-PackageProvider 來取得套件提供者名稱。 |
RequiredVersion | 指定您要安裝之套件的確切版本。 如果您未指定此參數,此 DSC 資源會安裝最新的可用套件版本,同時滿足 MaximumVersion 參數所指定的任何最大版本。 |
來源 | 指定可以找到套件的套件來源名稱。 這可以是 URI,或是向 Register-PackageSource 或 PackageManagementSource DSC 資源註冊的來源。 |
SourceCredential | 指定有權限安裝指定套件提供者或來源之套件的使用者帳戶。 |
其他參數
下表列出 AdditionalParameters 屬性的選項。
參數 | 描述 |
---|---|
Destination | 由內建 Nuget 提供者之類的提供者使用。 指定您想要安裝套件的檔案位置。 |
InstallationPolicy | 由內建 Nuget 提供者之類的提供者使用。 判斷您是否信任套件來源。 其中一個: 不受信任 或 受信任。 |
通用屬性
屬性 | 描述 |
---|---|
DependsOn | 表示必須先執行另一個資源的設定,再設定這個資源。 例如,如果第一個想要執行的資源設定指令碼區塊識別碼是 ResourceName,而其類型是 ResourceType,則使用這個屬性的語法就是 DependsOn = "[ResourceType]ResourceName" 。 |
Ensure | 判斷是否要安裝或解除安裝套件。 預設值為 Present。 |
PsDscRunAsCredential | 設定用於執行整個資源的認證。 |
注意
已在 WMF 5.0 中新增 PsDscRunAsCredential 通用屬性,以允許在其他認證的內容中執行任何 DSC 資源。 如需詳細資訊,請參閱搭配 DSC 資源使用認證。
範例
此範例會使用 PackageManagement DSC 資源安裝 JQuery NuGet 套件和 GistProvider PowerShell 模組。 此範例會先確認必要的套件來源可以使用,然後定義 JQuery 和 GistProvider 套件 (分別是 NuGet 和 PowerShell) 的預期狀態 。
Configuration PackageTest
{
Import-DscResource -ModuleName 'PackageManagement'
PackageManagementSource SourceRepository
{
Ensure = "Present"
Name = "MyNuget"
ProviderName= "Nuget"
SourceLocation = "http://nuget.org/api/v2/"
InstallationPolicy ="Trusted"
}
PackageManagementSource PSGallery
{
Ensure = "Present"
Name = "psgallery"
ProviderName= "PowerShellGet"
SourceLocation = "https://www.powershellgallery.com/api/v2"
InstallationPolicy ="Trusted"
}
PackageManagement NugetPackage
{
Ensure = "Present"
Name = "JQuery"
AdditionalParameters = "$env:HomeDrive\nuget"
RequiredVersion = "2.0.1"
DependsOn = "[PackageManagementSource]SourceRepository"
}
PackageManagement PSModule
{
Ensure = "Present"
Name = "gistprovider"
Source = "PSGallery"
DependsOn = "[PackageManagementSource]PSGallery"
}
}
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應