MSIExec через Powershell Install - PullRequest
1 голос
/ 07 марта 2019

Найти список MSI-файлов из каталога и установить на данный компьютер удаленно или локально.Я хочу иметь возможность запускать сценарий, который установит 8 отдельных файлов MSI в заданный каталог 1 к 1. Я нашел этот сценарий и думаю, что он работает, но мне кажется, что в нем что-то не так?

foreach($_msiFiles in 
($_msiFiles = Get-ChildItem $_Source -Recurse | Where{$_.Extension -eq ".msi"} |
 Where-Object {!($_.psiscontainter)} | Select-Object -ExpandProperty FullName)) 
{
    msiexec /i $_msiFiles /passive
} 

1 Ответ

1 голос
/ 07 марта 2019

Это поможет вам понять, что здесь происходит. Я бы написал это примерно так:

Объявление исходного каталога:

$source = “\\path\to\source\folder”

Поместите каждый дочерний объект .msi в массив:

$msiFiles = Get-Childitem $source -File -recurse | Where-Object {$_.Extension -eq “.msi”}

Итерация массива для запуска каждого .msi:

Foreach ($msi in $msiFiles) {

Msiexec /I “$($msi.FullName)” /passive

}

Это, конечно, просто объяснение того, что вы делаете. Он не включает обработку ошибок, проверку кодов возврата или удаленный синтаксис команд и т. Д. И т. Д.

...