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 提供者,您可以在另一部電腦上下載它們,並將其複製到目的電腦。 使用下列步驟執行這項作業:

  1. 執行 Install-PackageProvider -Name NuGet -RequiredVersion 2.8.5.201 -Force 以從具有網際網路連線的電腦安裝提供者。
  2. 安裝之後,您可以在 或 $env:LOCALAPPDATA\PackageManagement\ProviderAssemblies\<ProviderName>\<ProviderVersion> 中找到 $env:ProgramFiles\PackageManagement\ProviderAssemblies\<ProviderName>\<ProviderVersion> 已安裝的提供者。
  3. <ProviderName>將資料夾放在目的電腦上的對應位置,在此案例中為 NuGet 資料夾。 如果您的目的電腦是 Nano 伺服器,您必須從 Nano Server 執行 Install-PackageProvider ,才能下載正確的 NuGet 二進位檔。
  4. 重新開機 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-PackageProviderSoftwareIdentity物件。

備註

重要

從 2020 年 4 月起,PowerShell 資源庫已不再支援傳輸層安全性 (TLS) 1.0 和 1.1 版。 如果您不是使用 TLS 1.2 或更高版本,您在嘗試存取 PowerShell 資源庫時將會收到錯誤。 使用下列命令來確保您使用的是 TLS 1.2:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

如需詳細資訊,請參閱 PowerShell 部落格中的公告 \(英文\)。