Сценарий PowerShell для установки нескольких программ, отчет об успешной или неудачной установке - PullRequest
0 голосов
/ 08 января 2019

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

У меня нет опыта работы с PowerShell, и я перепробовал все, что мог найти в StackOverflow и Google, но для меня это не имеет смысла.

$install = Start-Process -FilePath "path" -ArgumentList "/qb" -Wait
if ($install.ExitCode -eq 0) {
    Write-Host "Install Successful"
} else {
    Write-Host "Install Failed"
}

1 Ответ

0 голосов
/ 09 января 2019

Добавьте параметр -PassThru в Start-Process, чтобы командлет фактически выводил объект процесса, который можно назначить переменной $install. Код, который у вас есть, этого не делает, поэтому $install пуст и проверка свойства ExitCode для пустой переменной, очевидно, не будет соответствовать вашим ожиданиям. Вы также можете использовать /qn (без пользовательского интерфейса) вместо /qb (базовый пользовательский интерфейс) для автоматической установки.

Это должно делать то, что вы хотите:

$install = Start-Process -FilePath 'path' -ArgumentList '/qn' -Wait -PassThru
if ($install.ExitCode -eq 0) {
    Write-Host "Install Successful"
} else {
    Write-Host "Install Failed"
}

С учетом вышесказанного, совершенно очевидно, что код, размещенный в вашем вопросе, не дал бы вам никакого результата. должен отображать «Ошибка установки» независимо от того, была ли установка успешной или нет, поскольку при пустом значении $install 1016 * оценивается как $null -eq 0, что, в свою очередь, равно $false.

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