Если я выполню следующую команду в моем сеансе ...
(Get-Process -Id $pid).CloseMainWindow()
Я могу корректно завершить процесс (никаких модальных окон или других всплывающих окон не возникает).
Если, однако, pid находится в сеансе другого пользователя на той же машине (работает RDS), процесс не закрывается, и CloseMainWindow () возвращает FALSE (он возвращает TRUE, если он выполняется в моем собственном сеансе). Это также работает, если я запускаю powershell из сеанса другого пользователя.
Мне особенно нужен способ изящно закрыть программу, так как в программе есть несколько важных действий по очистке, необходимых для поддержания порядка в базе данных. Так что stop-process или process.kill () не будут работать.