繁体   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