Есть 2 сценария PowerShell, которые запускаются при запуске, 1 находится в моем контроле, а другой - вне моего контроля.PowerShell: еще один экземпляр Start-Process уже запущен
В обоих наших сценариях используется Start-Process. Странный вопрос, если оба нашего Start-Process случаются выполнить в то же время, я получаю следующее сообщение об ошибке от моего сценария:
Start-Process : This command cannot be run due to the error: An instance of the service is already running.
Есть ли способ, чтобы увидеть, если другой «Start-Process» уже работает ? Я знаю о «Get-Process», но только показывает запуск PowerShell, а не какой командлет в данный момент запущен.
Я не сторонник НЕ использования Start-Process.
Как временное обходное решение, я сказал своему сценарию спать в течение 60 секунд, но предпочел бы ЗНАТЬ, когда будет выполнен другой старт-процесс.
Вот мой код:
$pw = ConvertTo-SecureString -AsPlainText -Force -String "myPassword"
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList "Administrator",$pw
$psArgList = "-ExecutionPolicy Bypass","-file"
$psArgList += $args
Start-Process powershell.exe -Wait -Credential $cred -ArgumentList $psArgList
Это позволяет запускать другой сценарий PowerShell с полными правами: как администратор с ExecutionPolicy как байпас.
Я не уверен, что это проблема другой сессии с использованием Start-Process, поскольку две сессии пытаются одновременно запустить службу. Каков ваш старт-процесс? Не могли бы вы показать соответствующий код? – TheMadTechnician
Спасибо за комментарий. Обновлено сообщение, чтобы включить мой код. – Vippy