共用方式為


MsiPackage

概要

安裝或卸載 MSI 套件。

語法

MsiPackage [String] #ResourceName
{
    Path = [string]
    ProductId = [string]
    [Arguments = [string]]
    [Credential = [PSCredential]]
    [DependsOn = [string[]]]
    [Ensure = [string]{ Absent | Present }]
    [FileHash = [string]]
    [HashAlgorithm = [string]{ MD5 | RIPEMD160 | SHA1 | SHA256 | SHA384 | SHA512 }]
    [LogPath = [string]]
    [PsDscRunAsCredential = [PSCredential]]
    [RunAsCredential = [PSCredential]]
    [ServerCertificateValidationCallback = [string]]
    [SignerSubject = [string]]
    [SignerThumbprint = [string]]
}

描述

資源 MsiPackage 會安裝或卸載 MSI 套件。 套件可以是本機、UNC 磁片磁碟機上,或從 Web URI 下載。 您可以將套件安裝為替代帳戶。 您可以視需要指定套件的其他引數以進行安裝或卸載。

規格需求

無。

金鑰屬性

ProductId

指定用來將封裝尋找為字串的識別編號。 此值通常是 GUID。

Type: System.String

必要屬性

路徑

將 MSI 套件的路徑指定為字串。 此屬性的值可以是本機電腦上的 MSI 檔案路徑、UNC 磁片磁碟機上的 MSI 套件路徑,或可從其中下載 MSI 套件的 Web URI。 如果這個屬性的值不是 Web URI,它必須以 .msi 結尾。

這個屬性只會與資源的 Set 方法搭配使用。 如果值為 Web URI,資源會在安裝或卸載之前,先將套件下載到本機快取。 如果值為 UNC 路徑,資源會在安裝或卸載之前掛接 UNC 磁片磁碟機。

Type: System.String

選擇性屬性

引數

指定在安裝或卸載期間傳遞至套件的其他引數作為字串。 一律會傳遞下列引數:

  • 安裝時, /i <Path to the MSI package> 是第一個引數。
  • 卸載時, /x <Product Entry Guid> 是第一個引數。
  • 如果指定 LogPath ,資源會 /log "<LogPath>" 附加至引數清單。 如需詳細資訊,請參閱 LogPath
  • /quiet/norestart 一律會附加。

這個屬性的值會附加在預設引數之後。

Type: System.String
Default Value: None

認證

視需要指定具有掛接 UNC 路徑許可權的帳號憑證。

Type: System.Management.Automation.PSCredential
Behavior: Write
Default Value: None

Ensure

指定是否要安裝或卸載套件。 若要安裝套件,請將此屬性指定為 Present 。 若要卸載套件,請將此屬性指定為 Absent 。 預設值是 Present

Type: System.String
Behavior: Write
Accepted Values:
  - Absent
  - Present
Default Value: Present

FileHash

將 MSI 檔案的預期雜湊值指定為字串。 如果指定,資源會在安裝或卸載套件之前,先檢查套件是否符合此值。 如果值不相符,資源會擲回不正確引數例外狀況。

Type: System.String
Default Value: None

HashAlgorithm

指定用來產生 FileHash值的演算法。 預設值是 SHA256

Type: System.String
Accepted Values:
  - MD5
  - RIPEMD160
  - SHA1
  - SHA256
  - SHA384
  - SHA512
Default Value: SHA256

LogPath

指定檔案的路徑,以字串方式記錄 MSI 執行的輸出。 根據預設,不會記錄輸出。

Type: System.String
Default Value: None

RunAsCredential

指定替代帳戶的認證,以執行封裝的安裝或卸載。

Type: System.Management.Automation.PSCredential
Default Value: None

ServerCertificateValidationCallback

指定 PowerShell Scriptblock,以在 Path 是 HTTPS URI 時驗證 SSL 憑證。 如果 scriptblock 未傳回 ,則資源的Set方法會擲回 $true 不正確作業例外狀況,而且不會下載套件。

Type: System.String
Default Value: None

SignerSubject

將主體指定為字串,此字串應符合 MSI 檔案數位簽章的簽署者憑證。 如果指定,資源會在安裝或卸載套件之前,先檢查套件是否符合此值。 如果值不相符,資源的 Set 方法會擲回不正確引數例外狀況。

Type: System.String
Default Value: None

SignerThumbprint

將憑證指紋指定為字串,此字串應符合 MSI 檔案數位簽章的簽署者憑證。 如果指定,資源會在安裝或卸載套件之前,先檢查套件是否符合此值。 如果值不相符,資源的 Set 方法會擲回不正確引數例外狀況。

Type: System.String
Default Value: None

唯讀屬性

InstalledOn

MSI 套件安裝于或服務上的日期,無論晚于哪一個。 此屬性無法設定。

Type: System.String

InstallSource

MSI 套件的路徑。

Type: System.String

名稱

MSI 套件的顯示名稱。

Type: System.String

PackageDescription

MSI 套件的描述。

Type: System.String

Publisher

MSI 套件的發行者。

Type: System.String

大小

MSI 套件的大小,以 MB 為單位。

Type: System.UInt32

版本

MSI 套件的版本號碼。

Type: System.String

範例