Когда запускается запланированное задание, я хотел бы открыть окно Powershell на своем рабочем столе, чтобы отслеживать файл журнала и наблюдать за ходом выполнения. В частности, я хотел бы, чтобы задача открыла окно на моем рабочем столе и запустила Get-Content C:\LogFile.txt -Wait
. Когда задача закончится, я бы хотел закрыть окно powershell.
Есть ли способ запустить графическое окно под другим пользователем? Из того, что я обнаружил, большинство команд будут запускаться с привилегиями указанного пользователя, но не будут создавать окна на своем рабочем столе.
Было бы еще лучше, если бы он запускался под любым пользователем, вошедшим в систему при запуске задачи, а не жестко закодированным пользователем.
РЕДАКТИРОВАТЬ: пока у меня есть код ниже. Я работаю до такой степени. Он создает хвостовое окно, но когда я вызываю $p.kill()
он убивает процесс psexec, но не процесс powershell. Могу ли я отправить Ctrl-C
в окно powershell?
# start tailing the log
$psexec = 'c:\psexec.exe'
$arguments = '-i powershell.exe -windowstyle maximized -command "& {get-content c:\logs\task_log.log -wait}"'
$p = start-process $psexec -argumentlist $arguments -passthru
# start the task
Some-task.exe
# kill the tail
$p.kill()