在 PowerShell 中安裝軟體

Marion Paul Kenneth Mendoza 2023年1月30日 2022年5月16日
  1. 在 PowerShell 中安裝軟體
  2. 在 PowerShell 中使用 Start-Process Cmdlet 安裝軟體
  3. 在 PowerShell 中靜默安裝軟體
在 PowerShell 中安裝軟體

PowerShell 指令碼語言自動執行多個 Windows 作業系統任務和程序。例如,PowerShell 可以執行各種檔案,例如格式為 MSI 或 .exe 的安裝檔案。

本文將演示幾種安裝 Windows PowerShell 軟體的方法和途徑。

在 PowerShell 中安裝軟體

以下是使用 PowerShell 安裝軟體的步驟:

  • 開啟你的 Windows PowerShell 終端。
  • 找到 .exe 檔案的位置並將工作目錄更改為此。
  • 然後,使用更改目錄或 cd 命令更改控制檯的當前工作目錄。
  • 一旦我們調整了我們的工作目錄,我們可以通過在命令列中呼叫它來執行我們的可執行檔案。

命令:

.\installer_setup.exe;

但是,這種方法的警告是,如果我們想在安裝時傳遞特定的引數,它是不夠的。之前,我們在命令提示符下執行了一個名為 msiexec 的舊命令。

以下部分將教我們與 Windows PowerShell 中的 msiexec 類似的對應物。

在 PowerShell 中使用 Start-Process Cmdlet 安裝軟體

Start-Process 命令可以在 Windows PowerShell 中執行可執行檔案。上述 PowerShell cmdlet 和 -FilePath 引數採用 .exe 安裝檔案的完整路徑。

此外,-ArgumentList 引數提供了在 Windows PowerShell 中啟動安裝過程時可執行檔案使用的內部引數。最後,-PassThru 引數用於驗證命令是否按預期工作。

假設我們要開啟一個名為 installer_setup.exe 的可執行檔案。

例子:

Start-Process -Wait -FilePath '.\installer_setup.exe' -ArgumentList '/s' -PassThru

執行上述指令碼後,Windows PowerShell 將執行定義的可執行檔案。

在 PowerShell 中靜默安裝軟體

在 Windows PowerShell 中執行安裝軟體利用了我們通常用於在命令提示符下執行安裝軟體的 msiexec 舊命令。

要靜默執行安裝軟體,我們必須使用特定的 msiexec 命令引數並將它們傳遞給 Windows PowerShell 中的 -ArgumentList 引數。

以下是我們需要執行以在 Windows PowerShell 中靜默安裝軟體的引數和描述。

  • /s:以靜默模式執行安裝。
  • /v:通過 Msiexec.exe 工具傳遞命令列值和公共屬性選項。
  • /q:設定使用者介面級別。
  • n/q 引數的介面級別;將在沒有圖形使用者介面的情況下執行安裝。

將上述所有引數組合在一個命令中就是 PowerShell 指令碼的外觀。

Start-Process -Wait -FilePath '.\setup.exe' -ArgumentList '/s /v/qn' -PassThru

通過執行上面的程式碼片段,安裝應該在沒有視窗或嚮導提示的靜默模式下執行。

值得注意的是,/v/qn 引數都在執行時沒有空格,因為 /qn 引數是作為 /v 引數的子函式執行的。

上述引數並不是 msiexec 命令下唯一的現有引數。你可以在 PowerShell 中執行 msiexec 命令以獲取更多資訊。

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn