簡體   English   中英

如何在PowerShell中使用install-package cmdlet安裝多個包?

[英]How to install multiple packages using install-package cmdlet in powershell?

我正在為我的學校設置一個包安裝解決方案。 你的所有軟件包都是.msi。 我們使用PowerShell包管理器來安裝所有東西。 我希望能夠從遠程服務器遠程推送一個接一個的包。

當一次安裝一個包提供msi的確切路徑時,它可以工作。 但是,由於我的代碼不接受野火(*),因此我嘗試進行大規模自動安裝失敗。

這是我的代碼:

$Computers = Get-Content -Path "E:\servername\share\computer\test.txt"
$SharePath = "\\server.domain.ca\share\repo\MSI"
$Cred = Get-Credential $env:USERNAME


foreach ($Computer in $Computers)
    {
        $Computer
        Invoke-Command -ComputerName $Computer -Credential $Cred  -ScriptBlock {
        $null = New-PSDrive -Credential $using:Cred server -Root (Split-Path -Parent $using:SharePath) -PSProvider FileSystem
        Install-Package '\\servername\share\repo\MSI\*.msi'}
    }

我遇到的錯誤是指定的名稱******不應包含任何通配符。

我希望能夠一次性安裝我的包....知道怎么做嗎?

您可以使用Get-Item獲取與通配符匹配的所有文件,並使用循環來安裝每個包:

Get-Item '\\servername\share\repo\MSI\*.msi' | foreach { Install-Package $_ }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM