![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| gutalin69 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 15.4.2014 Репутация: нет Всего: нет |
подскажите пожалуйста в чем может быть причина, приложение удаленно не стартует, (очень срочно)
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
На С++ сами перепишете |
|||
|
||||
| gutalin69 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 15.4.2014 Репутация: нет Всего: нет |
на msdn написано что удаленный процесс при помощи win32Process и win32ProcessStartup не может быть запущен интерактивно, т.е подразумевается ,наверное, что его окошка мы не увидим
Вот старый код, запускает только процесс, на локальном разворачивает на весь экран, только не понятно ProcessStartupInformation что за свойство
Это сообщение отредактировал(а) gutalin69 - 23.4.2014, 13:58 |
|||
|
||||
| gutalin69 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 15.4.2014 Репутация: нет Всего: нет |
приложение удаленно стартует , но надо включить службу обнаружения задач и перезапустить процесс в process explorer'e ,чтобы вышло окно, что это еще за костыль такой? и если только так , то как можно удаленно перезапустить процесс в с ++?
Это сообщение отредактировал(а) gutalin69 - 24.4.2014, 07:13 |
|||
|
||||
| xvr |
|
||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Вот это создаст вам новую неинтерактивную WinStation и Desktop, соответственно вы ничего не увидите. Задайте "WinSta0\Default" вместо "ABC" (хотя это еще ничего не гарантирует - Windows может вас и не пустить к Desktop'у)
Туда нужно передать pClassInstance2 Увы да, к Winstation его не пустят
Это значит, что приложение так же запустилось не интерактивно - на невидимом WinStation & Desktop.
Ровно так же, как и запустить его заново, т.е. никак Через Win32_ScheduledJob в теории тоже можно сделать, но и тут есть подводные камни (целых 2) -
И еще надо не забыть задать проперть Owner, иначе система будет не в курсе, от имени кого запускать задачу (и на чьем Desktop'е она должна появиться) Может есть другие способы решения вашей задачи? Вы не можете на удаленной машине установить свой сервис, например? |
||||||||
|
|||||||||
| gutalin69 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 15.4.2014 Репутация: нет Всего: нет |
спасибо, а как в данном случае запустить задачу под нужным пользователем? у меня запускается от имени "SYSTEM", и так же вроде в настройках подключения если посмотреть код, указывается структура userAcct с учетными данными пользователя ,scheduled_job создается без всякой error 0x8 значит с протоколами все в порядке
остается еще утилита русиновича, но ее надо научить правильной кодировке, а то при ошибках выводит всякую дрянь Это сообщение отредактировал(а) gutalin69 - 24.4.2014, 13:41 |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
||||
|
||||
| gutalin69 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 15.4.2014 Репутация: нет Всего: нет |
дык в том-то и дело что owner' не выставляется, идет как система
кто-нибудь делал на плюсах перехват значений с консоли PsiExec?
Это сообщение отредактировал(а) gutalin69 - 26.4.2014, 14:06 |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Мда, в MSDN все эти проперти указанны как R/O. Видимо не судьба |
|||
|
||||
| gutalin69 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 15.4.2014 Репутация: нет Всего: нет |
ну не все , есть еще вариант Psexec , а как правильно на плюсах перенаправить сообщения об ошибках идущие из Psexec? использовать Pipe?
|
|||
|
||||
| xvr |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Он требует немалых привилегий для работы. Если он у вас работает, то вам повезло
Так же, как и на С - popen Если способ, которым работает psexec устраивает, то наверное можно его функциональность встроить и к себе
Все антивирусы будут орать хором |
||||
|
|||||
| gutalin69 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 15.4.2014 Репутация: нет Всего: нет |
спасибо, вернулся наконец-то к этому заданию, _popen не помогло, но идея открывать пайпы оказалась полезной, получилось нечто такое.... но, работает , к сожалению, только с фиксированным размером принимаемого буфера (4096) , что не очень правильно, ведь размер чтения должен быть переменным
Это сообщение отредактировал(а) gutalin69 - 6.5.2014, 17:27 |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Обычно читают кусками (можно и по 4096 байт), их склеивают, а потом нарезают по строкам (если нужны строки) А почему с _popen не сработало? |
|||
|
||||
| gutalin69 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 15.4.2014 Репутация: нет Всего: нет |
_popen у меня срабатывал, но почму-то создавал много-много одинаковых процессов и комп тупо умирал от нехватки памяти, хотя _popen делался не в цикле, наврное делал я как-то не так, но в итоге с пайпами всё сейчас работает!
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |