PowerShell Установить MSI с файлом свойств - PullRequest
0 голосов
/ 12 февраля 2019

Я хочу заменить наши старые командные файлы на файл PowerShell, чтобы установить msi на нескольких серверах с целью удаленной автоматизации установок.

Что я пытаюсь сделать, и вот как вы можете получитьPowerShell для установки MSI, где установка опирается на сведения, поступающие из файла свойств в качестве одного аргумента вместе с выходом из системы как файлом журнала и установкой нового имени пользователя и пароля?

В настоящее время наш старый файл cmdвыглядит примерно так:

msiexec / I mymsi.msu / quiet / lv mymsi.log ИМЯ ПОЛЬЗОВАТЕЛЯ = ПАРОЛЬ ИМЯ = APassword CONFIG = "C: \ Some.properties.env"

ЧтоЯ хочу сделать это заново, но в PowerShell, но я не смог найти пример, который работает.

1 Ответ

0 голосов
/ 12 февраля 2019

Я бы предложил использовать Start-Process и Splatting, чтобы сделать его читаемым и функциональным:

$startProcessParams = @{
    'FilePath'         = "$Env:SystemRoot\System32\MSIEXEC.exe"
    'ArgumentList'     = @(
        '/i', 'mymsi.msu'
        '/quiet'
        '/lv', 'mymsi.log'
        'USERNAME=AName', 'PASSWORD=APassword', 'CONFIG="C:\Some.properties.env"'
    )
    'WorkingDirectory' = $PSScriptRoot
    'Wait'             = $true
    'PassThru'         = $true
}
$process = Start-Process @startProcessParams

return $process.ExitCode

Обязательно установите WorkingDirectory в том месте, где находится ваш файл .msu.


about_Splatting

Start-Process

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...