2013-04-17 3 views
0

Я пытаюсь запустить Internet Explorer из пакетного сценария, который запускается из планировщика как система при отображении окна на рабочем столе активных пользователей. Две морщины: У пользователя нет пароля, Имя пользователя не согласовано.Скрытый IE-экземпляр

Каков наилучший способ для этого?

Я попробовал несколько вещей, и ближе всего я получил это:

PsExec.exe -s -i -l 'C:\path-to-iexplore.exe'

из CMD окна, которое получает мне процесс, который работает как система с GUI, показанной , но мне нужна противоположность -s (системный пользовательский) флаг, или чтобы можно было найти и указать -i (текущая оболочка.)

+0

Вы еще что-нибудь пробовали? –

+0

Да, я много думал о PsExec, но не могу понять, как передать право собственности на процесс/etc без какого-либо очень серьезного .net или что-то в этом роде. «PsExec.exe -s -i -l» C: \ path-to-iexplore.exe'' работает отлично с консоли (например, процесс работает как система, но отображается) планировщик. – pnovotnak

+0

Напишите ближайший, который вы получили в вопросе, в противном случае вы рискуете попасть вниз избирателей. –

ответ

1

Итак, я преуспел после долгих проб и ошибок - кажется, что для некоторых Причина, вы должны вызвать вложенный экземпляр psexec. В моем случае, это имело смысл, чтобы поместить вторую команду в его собственном пакетном файле, как так:

C:\path-to-psexec\PsExec.exe -s -i 0 "lock-screen.bat"

(замок-screen.bat :) C:\path-to-psexec\PsExec.exe -s -i 0 -d "C:\path-to-ie\iexplore.exe"

флаг -i подключается к session, если сеанс не указан, он подключается к сеансу текущей оболочки. Если один пользователь зарегистрирован, кажется, что номер сеанса пользователя равен 0. Чтобы узнать, какие сеансы активны, вы можете использовать вторую команду: LoginSessions.

Я понятия не имею, почему мне нужно запустить PsExec вложенный, возможно, кто-то мудрее меня может объяснить.

+0

ik ik 3 часа осталось: P – pnovotnak

+0

Дружелюбное напоминание просто вы можете забыть. –

Смежные вопросы