Share via


Install-Package

安裝一或多個軟體套件。

Syntax

Install-Package
       [-Name] <String[]>
       [-RequiredVersion <String>]
       [-MinimumVersion <String>]
       [-MaximumVersion <String>]
       [-Source <String[]>]
       [-Credential <PSCredential>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllVersions]
       [-Force]
       [-ForceBootstrap]
       [-WhatIf]
       [-Confirm]
       [-ProviderName <String[]>]
       [<CommonParameters>]
Install-Package
       [-InputObject] <SoftwareIdentity[]>
       [-Credential <PSCredential>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllVersions]
       [-Force]
       [-ForceBootstrap]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Install-Package
       [-Credential <PSCredential>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllVersions]
       [-Force]
       [-ForceBootstrap]
       [-WhatIf]
       [-Confirm]
       [-ConfigFile <String>]
       [-SkipValidate]
       [-Headers <String[]>]
       [-FilterOnTag <String[]>]
       [-Contains <String>]
       [-AllowPrereleaseVersions]
       [-Destination <String>]
       [-ExcludeVersion]
       [-Scope <String>]
       [-SkipDependencies]
       [<CommonParameters>]
Install-Package
       [-Credential <PSCredential>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllVersions]
       [-Force]
       [-ForceBootstrap]
       [-WhatIf]
       [-Confirm]
       [-ConfigFile <String>]
       [-SkipValidate]
       [-Headers <String[]>]
       [-FilterOnTag <String[]>]
       [-Contains <String>]
       [-AllowPrereleaseVersions]
       [-Destination <String>]
       [-ExcludeVersion]
       [-Scope <String>]
       [-SkipDependencies]
       [<CommonParameters>]
Install-Package
       [-Credential <PSCredential>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllVersions]
       [-Force]
       [-ForceBootstrap]
       [-WhatIf]
       [-Confirm]
       [-AllowPrereleaseVersions]
       [-Scope <String>]
       [-PackageManagementProvider <String>]
       [-PublishLocation <String>]
       [-ScriptSourceLocation <String>]
       [-ScriptPublishLocation <String>]
       [-Type <String>]
       [-Filter <String>]
       [-Tag <String[]>]
       [-Includes <String[]>]
       [-DscResource <String[]>]
       [-RoleCapability <String[]>]
       [-Command <String[]>]
       [-AcceptLicense]
       [-AllowClobber]
       [-SkipPublisherCheck]
       [-InstallUpdate]
       [-NoPathUpdate]
       [<CommonParameters>]
Install-Package
       [-Credential <PSCredential>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllVersions]
       [-Force]
       [-ForceBootstrap]
       [-WhatIf]
       [-Confirm]
       [-AllowPrereleaseVersions]
       [-Scope <String>]
       [-PackageManagementProvider <String>]
       [-PublishLocation <String>]
       [-ScriptSourceLocation <String>]
       [-ScriptPublishLocation <String>]
       [-Type <String>]
       [-Filter <String>]
       [-Tag <String[]>]
       [-Includes <String[]>]
       [-DscResource <String[]>]
       [-RoleCapability <String[]>]
       [-Command <String[]>]
       [-AcceptLicense]
       [-AllowClobber]
       [-SkipPublisherCheck]
       [-InstallUpdate]
       [-NoPathUpdate]
       [<CommonParameters>]

Description

Cmdlet Install-Package 會在本機電腦上安裝一或多個軟體套件。 如果您有多個軟體來源,請使用 Get-PackageProviderGet-PackageSource 來顯示提供者的詳細資料。

重要

PackageManagement模組中包含的命令與 Visual Studio 套件管理員主控台中NuGet模組所提供的命令不同。 每個模組都有其他模組中無法使用的命令。 具有相同名稱的命令與其特定引數不同。 如需詳細資訊,請參閱 Visual Studio 套件管理員主控台的 PowerShell 參考 檔。

範例

範例 1:依套件名稱安裝套件

Cmdlet Install-Package 會安裝軟體套件及其相依性。

PS> Install-Package -Name NuGet.Core -Source MyNuGet -Credential Contoso\TestUser

Install-Package會使用參數來指定套件名稱和來源Credential參數會使用具有安裝套件許可權的網域使用者帳戶。 命令會提示您輸入使用者帳戶密碼。

範例 2:使用Find-Package來安裝套件

在此範例中,傳 Find-Package 回的物件會向下傳送管線,並由 安裝 Install-Package

PS> Find-Package -Name NuGet.Core -Source MyNuGet | Install-Package

Find-Package 會使用 NameSource 參數來尋找封裝。 物件會向下傳送管線,並在 Install-Package 本機電腦上安裝套件。

範例 3:藉由指定版本範圍來安裝套件

Install-Package 會使用 MinimumVersionMaximumVersion 參數來指定軟體版本的範圍。

PS> Install-Package -Name NuGet.Core -Source MyNuGet -MinimumVersion 2.8.0 -MaximumVersion 2.9.0

Install-Package 會使用 NameSource 參數來尋找套件。 MinimumVersionMaximumVersion參數會指定一系列的軟體版本。 已安裝範圍中的最高版本。

參數

-AcceptLicense

AcceptLicense 會在安裝期間自動接受授權合約。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowClobber

覆寫與現有命令衝突的相關警告訊息。 覆寫與所安裝命令同名的現有命令。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowPrereleaseVersions

允許安裝標示為發行前版本的套件。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllVersions

Install-Package 會安裝套件的所有可用版本。 根據預設,只會安裝最新版本。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Command

指定一或多個搜尋 Install-Package 的命令。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConfigFile

指定包含組態檔的路徑。

Type:String
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

-Contains

Install-Package 如果 Contains 參數指定符合任何物件屬性值的值,則會取得 物件。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

指定有權存取電腦並執行命令的使用者帳戶。 輸入使用者名稱,例如User01Domain01\User01,或輸入 Cmdlet 所產生的 Get-CredentialPSCredential物件。 如果您輸入使用者名稱,系統會提示您輸入密碼。

未指定 Credential 參數時, Install-Package 請使用目前的使用者。

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Destination

指定輸入物件的路徑。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DscResource

指定所搜尋 Install-Package 的一或多個Desired State Configuration (DSC) 資源。 Find-DscResource使用 Cmdlet 尋找 DSC 資源。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ExcludeVersion

切換以排除資料夾路徑中的版本號碼。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Filter

指定要在 [名稱 ] 和 [ 描述 ] 屬性內搜尋的字詞。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FilterOnTag

指定篩選結果的標記,並排除不包含指定標籤的結果。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

強制執行命令而不要求使用者確認。 覆寫防止 Install-Package 成功的限制,但安全性除外。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ForceBootstrap

強制 PackageManagement 自動安裝指定套件的套件提供者。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Headers

指定封裝標頭。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Includes

指定是否 Install-Package 應該尋找所有封裝類型。 此參數可接受的值如下所示:

  • Cmdlet
  • DscResource
  • 函式
  • RoleCapability
  • 工作流程
Type:String[]
Accepted values:Cmdlet, DscResource, Function, RoleCapability, Workflow
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

接受管線輸入。 使用封裝的 SoftwareIdentity 類型來指定封裝。 Find-Package 會輸出 SoftwareIdentity 物件。

Type:Microsoft.PackageManagement.Packaging.SoftwareIdentity[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InstallUpdate

表示 Install-Package 安裝更新。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaximumVersion

指定您想要安裝的允許套件版本上限。 如果您未指定此參數, Install-Package 請安裝套件的最新版本。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MinimumVersion

指定您想要安裝的最小允許套件版本。 如果您未新增此參數, Install-Package 請安裝符合 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

-NoPathUpdate

NoPathUpdate 僅適用于 Install-Script Cmdlet。 NoPathUpdate 是由提供者新增的動態參數,不支援 Install-Package

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PackageManagementProvider

指定 PackageManagement 提供者的名稱。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProviderName

指定要設定套件搜尋範圍的一或多個套件提供者名稱。 您可以執行 Get-PackageProvider 來取得套件提供者名稱。

Type:String[]
Aliases:Provider
Accepted values:Bootstrap, NuGet, PowerShellGet
Position:Named
Default value:None
Required:False
Accept pipeline input:True
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

-PublishLocation

指定封裝發佈位置的路徑。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequiredVersion

指定您想要安裝之套件的確切允許版本。 如果您未新增此參數, Install-Package 請安裝符合 MaximumVersion 參數所指定任何版本的套件最新版本。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RoleCapability

指定角色功能的陣列。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

指定要安裝封裝的範圍。 此參數可接受的值如下所示:

  • CurrentUser
  • AllUsers
Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScriptPublishLocation

指定腳本發佈位置的路徑。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScriptSourceLocation

指定腳本來源位置。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipDependencies

略過軟體相依性的安裝。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipPublisherCheck

可讓您取得比已安裝版本還新的套件版本。 例如,由信任的發行者以數位方式簽署但未數位簽署新版本的已安裝套件。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipValidate

略過驗證封裝認證的參數。

Type:SwitchParameter
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

-Tag

指定要在套件中繼資料中搜尋的一或多個字串。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Type

指定是否要搜尋具有模組、腳本或兩者的套件。 此參數可接受的值如下所示:

  • 模組
  • 指令碼
  • 全部
Type:String
Accepted values:Module, Script, All
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

顯示執行 Cmdlet 時 Install-Package 會發生什麼情況。 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。

輸出

Microsoft.PackageManagement.Packaging.SoftwareIdentity

此 Cmdlet 會針對安裝的每個套件傳回 SoftwareIdentity 物件。

備註

在命令中包含套件提供者,可讓 Cmdlet 使用動態參數。 動態參數是套件提供者特有的。 Cmdlet Get-Help 會列出 Cmdlet 的參數集,並包含提供者的參數集。 例如, Install-Package 具有包含 、 AllowClobberSkipPublisherCheckPowerShellGet參數集 -NoPathUpdate

重要

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

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

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