Install-PackageProvider
安裝一或多個套件管理套件提供者。
Syntax
Install-PackageProvider
[-Name] <String[]>
[-RequiredVersion <String>]
[-MinimumVersion <String>]
[-MaximumVersion <String>]
[-Credential <PSCredential>]
[-Scope <String>]
[-Source <String[]>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-AllVersions]
[-Force]
[-ForceBootstrap]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Install-PackageProvider
[-Scope <String>]
[-InputObject] <SoftwareIdentity[]>
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-AllVersions]
[-Force]
[-ForceBootstrap]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Cmdlet Install-PackageProvider
會安裝與 PowerShellGet註冊之套件來源中可用的相符套件管理提供者。 根據預設,這包括Windows PowerShell資源庫中可用的模組與 PackageManagement標籤。 PowerShellGet套件管理提供者可用來尋找這些存放庫中的提供者。
此 Cmdlet 也會安裝使用套件管理啟動載入應用程式提供的相符套件管理提供者。
此 Cmdlet 也會安裝套件管理 Azure Blob 存放區中可用的相符套件管理提供者。 使用啟動載入器提供者來尋找並安裝它們。
為了第一次執行,PackageManagement 需要網際網路連線才能下載 NuGet 套件提供者。 不過,如果您的電腦沒有網際網路連線,而且需要使用 NuGet 或 PowerShellGet 提供者,您可以在另一部電腦上下載它們,並將其複製到目的電腦。 使用下列步驟執行這項作業:
- 執行
Install-PackageProvider -Name NuGet -RequiredVersion 2.8.5.201 -Force
以從具有網際網路連線的電腦安裝提供者。 - 安裝之後,您可以在 或
$env:LOCALAPPDATA\PackageManagement\ProviderAssemblies\<ProviderName>\<ProviderVersion>
中找到$env:ProgramFiles\PackageManagement\ProviderAssemblies\<ProviderName>\<ProviderVersion>
已安裝的提供者。 <ProviderName>
將資料夾放在目的電腦上的對應位置,在此案例中為 NuGet 資料夾。 如果您的目的電腦是 Nano 伺服器,您必須從 Nano Server 執行Install-PackageProvider
,才能下載正確的 NuGet 二進位檔。- 重新開機 PowerShell 以自動載入套件提供者。 或者,執行
Get-PackageProvider -ListAvailable
以列出電腦上可用的所有套件提供者。Import-PackageProvider -Name NuGet -RequiredVersion 2.8.5.201
然後使用 將提供者匯入目前的Windows PowerShell會話。
範例
範例 1:從PowerShell 資源庫安裝套件提供者
此命令會從 PowerShell 資源庫 安裝 GistProvider 套件提供者。
Install-PackageProvider -Name "GistProvider" -Verbose
範例 2:安裝指定的套件提供者版本
此範例會安裝指定的 NuGet 套件提供者版本。
第一個命令會尋找名為 NuGet 之套件提供者的所有版本。 第二個命令會安裝指定的 NuGet 套件提供者版本。
Find-PackageProvider -Name "NuGet" -AllVersions
Install-PackageProvider -Name "NuGet" -RequiredVersion "2.8.5.216" -Force
範例 3:尋找提供者並加以安裝
此範例會使用 Find-PackageProvider
和 管線來搜尋 Gist 提供者並加以安裝。
Find-PackageProvider -Name "GistProvider" | Install-PackageProvider -Verbose
範例 4:將提供者安裝至目前使用者的模組資料夾
此命令會安裝套件提供者, $env:LOCALAPPDATA\PackageManagement\ProviderAssemblies
以便只有目前的使用者可以使用它。
Install-PackageProvider -Name GistProvider -Verbose -Scope CurrentUser
參數
-AllVersions
表示此 Cmdlet 會安裝套件提供者的所有可用版本。 根據預設, Install-PackageProvider
只會傳回最高的可用版本。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
在執行 Cmdlet 前提示您確認。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
指定具有安裝套件提供者權限的使用者帳戶。
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
指出此 Cmdlet 會強制使用此 Cmdlet 的所有動作。 目前,這表示 Force 參數的作用與 ForceBootstrap 參數相同。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ForceBootstrap
指示此 Cmdlet 會自動安裝套件提供者。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
指定 SoftwareIdentity 物件。 Find-PackageProvider
使用 Cmdlet 取得SoftwareIdentity物件,以管線傳送至 Install-PackageProvider
。
Type: | Microsoft.PackageManagement.Packaging.SoftwareIdentity[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MaximumVersion
指定您想要安裝的套件提供者最大允許版本。 如果您未新增此參數, Install-PackageProvider
請安裝提供者的最高可用版本。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MinimumVersion
指定您想要安裝之套件提供者的最低允許版本。 如果您未新增此參數,請安裝最高可用版本的套件, Install-PackageProvider
同時滿足 MaximumVersion 參數所指定的任何需求。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
指定一或多個套件提供者模組名稱。 以逗號分隔多個封裝名稱。 不支援萬用字元。
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Proxy
指定要求的 Proxy 伺服器,而不是直接連線到網際網路資源。
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ProxyCredential
指定具有使用 Proxy 參數所指定 Proxy 伺服器之權限的使用者帳戶。
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequiredVersion
指定您想要安裝的套件提供者確切允許版本。 如果您未新增此參數,請安裝提供者的最高可用版本, Install-PackageProvider
同時滿足 MaximumVersion 參數所指定的任何最大版本。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Scope
指定提供者的安裝範圍。 此參數可接受的值為:
AllUsers - 將提供者安裝在電腦所有使用者可存取的位置。 根據預設,這會 $env:ProgramFiles\PackageManagement\ProviderAssemblies。
CurrentUser - 在只能供目前使用者存取的位置安裝提供者。 根據預設,這會 $env:LOCALAPPDATA\PackageManagement\ProviderAssemblies。
Type: | String |
Accepted values: | CurrentUser, AllUsers |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Source
指定一或多個套件來源。 Get-PackageSource
使用 Cmdlet 取得可用套件來源的清單。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
顯示執行 Cmdlet 後會發生的情況。 Cmdlet 並不會執行。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
輸入
Microsoft.PackageManagement.Packaging.SoftwareIdentity
您可以使用管線將 SoftwareIdentity 物件傳送至此 Cmdlet。 使用 Find-PackageProvider
取得可透過管線傳送至 Install-PackageProvider
的SoftwareIdentity物件。
備註
重要
從 2020 年 4 月起,PowerShell 資源庫已不再支援傳輸層安全性 (TLS) 1.0 和 1.1 版。 如果您不是使用 TLS 1.2 或更高版本,您在嘗試存取 PowerShell 資源庫時將會收到錯誤。 使用下列命令來確保您使用的是 TLS 1.2:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
如需詳細資訊,請參閱 PowerShell 部落格中的公告 \(英文\)。