Лучший отвечающий
Выполнять скрипт пока жив процесс

Вопрос
-
Всем привет!
Я что-то тупой по ходу =))) Нужно чтоб скрипт жил пока идет установка офиса (нужно чтобы не смешивались шаги в task sequence). Делаю
$office = Get-WmiObject win32_product | Where-Object {$_.name -match 'professional plus'} $version = $office.Version -replace '(\.\d{1,4}){3}$' Start-Process -FilePath "$env:CommonProgramFiles\Microsoft Shared\OFFICE$version\Office Setup Controller\Setup.exe" ` -ArgumentList "/uninstall ProPlus /config $PSScriptRoot\uninstall.xml" $process = Get-Process | Where-Object {$_.Path -like "$env:CommonProgramFiles\Microsoft Shared\OFFICE$version\Office Setup Controller\Setup.exe"} while ($process) { Start-Sleep -Seconds 10 }
Все это дело не заканчивается а спит бесконечно. Как закончить выполнения скрипта по окончании процесса setup.exe??
Спасибо!
17 ноября 2015 г. 12:46
Ответы
-
А кто обновлять $process будет в цикле?
Есть ключ Start-Process -Wait и командлет Wait-Process , чтобы лишних проверок не делать.$process = Get-Process | Where-Object {$_.Path -like "$env:CommonProgramFiles\Microsoft Shared\OFFICE$version\Office Setup Controller\Setup.exe"}
while ($process) { Start-Sleep -Seconds 10 $process = Get-Process | Where-Object {$_.Path -like "$env:CommonProgramFiles\Microsoft Shared\OFFICE$version\Office Setup Controller\Setup.exe"} }
- Предложено в качестве ответа Vector BCOModerator 17 ноября 2015 г. 13:01
- Помечено в качестве ответа NTLose 17 ноября 2015 г. 13:01
17 ноября 2015 г. 12:55Отвечающий
Все ответы
-
А кто обновлять $process будет в цикле?
Есть ключ Start-Process -Wait и командлет Wait-Process , чтобы лишних проверок не делать.$process = Get-Process | Where-Object {$_.Path -like "$env:CommonProgramFiles\Microsoft Shared\OFFICE$version\Office Setup Controller\Setup.exe"}
while ($process) { Start-Sleep -Seconds 10 $process = Get-Process | Where-Object {$_.Path -like "$env:CommonProgramFiles\Microsoft Shared\OFFICE$version\Office Setup Controller\Setup.exe"} }
- Предложено в качестве ответа Vector BCOModerator 17 ноября 2015 г. 13:01
- Помечено в качестве ответа NTLose 17 ноября 2015 г. 13:01
17 ноября 2015 г. 12:55Отвечающий -
Осёл я))))
Спасибо! Я просто заблуждался о том что цикл сам будет обращаться к $process, хотя и было подозрение что переменная не в цикле
За ключики отдельное спасибо!- Изменено NTLose 17 ноября 2015 г. 13:00
17 ноября 2015 г. 12:58