|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » удаленная программная инсталляция |
|
|
удаленная программная инсталляция
|
Новый участник Сообщения: 29 |
Профиль | Отправить PM | Цитировать Привет всем!
Хочу программно проинсталлировать какую-то програмульку на другой машине. Тоесть, образно говоря, запускаю свою программу, задаю имя (IP) машины, имя и пароль администратора компьютера, указываю путь к инсталляшке и все. Чтобы инсталляшка по сети была послана на указанную машину, там ее, по всей видимости, подхватила какая-то служба и запустила на выполнение с необходимыми параметрами и с правами админа. Хочу, но пока не пойму, как это сделать. Использую Borland C++ Builder 6.0. Вполне устроит, если это будет работать только с удаленными машинами под Win2K и выше. Кто-то сможет подсказать, куда направить свой взгляд и на что? |
|
Отправлено: 18:52, 10-02-2005 |
lehha
Сообщения: n/a |
А ты не пробовал это делать через групповые политики в AD??
|
Отправлено: 08:59, 11-02-2005 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Через групповые политики? Хм.....
Вероятно, для домена это неплохая идея. Но дело в том, что это ощутимо сужает круг охваченных сетей. Неплохо бы и для простых рабочих групп такую возможность. В любом случае - спасибо за инфу, Лехха |
Отправлено: 19:52, 11-02-2005 | #3 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Вдогонку:
В общем, замутил я примерно так: использовал Win API, сделал 4 шага. 1. Конектился к машине с помощью функции: - WNetAddConnection2 2. Далее копировал необходимую инсталляшку в \ADMIN$ - CopyFile 3. Потом подсоединялся к регистру и писал в "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnce" - RegConnectRegistry - RegOpenKeyEx - RegSetValueEx - RegCloseKey 4. Ну и потом ребутил тачку - InitiateSystemShutdownEx После чего сразу после логина запускалась инсталляшка и делала что надо. В общем, как в песне. Правда, есть пару неудобств. - Соединяться хочет не всегда - нередко чего-то ей не хватает, капризное подсоединение То ли домен у меня нехорошо настроен, то ли глюки какие-то по сети... - Выбрал шару ADMIN$ - в Windows должен быть всегда (насколько я понимаю). А то определяй еще, какие у нее есть шары. - Не очень мне нравиться использование реестра. а вдруг какой-нибудь не в меру шустрый локальный админ с целью оптимизации отрубит RemoteRegistry?! Можно, конечно, развести руками и сказать: "сами виноваты" - но все же? Может, можно как-то иначе? Может, в таком случае как-то RPC использовать - для подьема службы удаленного подключения реестра или же для прямого запуска инсталляшки? Аль еще какой вариант? Будут какие-то мнения, господа? |
Отправлено: 21:54, 18-02-2005 | #4 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Kelasant
См. psexec от www.sysinternals.com |
|
Отправлено: 00:01, 19-02-2005 | #5 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать мда, интересная утилитка - спасибо, hasherfrog.
правда, использовать ее я навряд ли буду, поскольку от меня требуется свой код, и не для себя я ее пишу. из плюсов: увидел, что я на правильном пути - pcexec конектится к машине аналогично. осталось только разобраться, как он процессы запускает.... минусы: промелькнули слова о том, что пароль идет по сети в открытом виде! А как же защищенность аутентификации в винде? я же слышал, что аутентификация в винде идет в три этапа: - клиент посылает имя юзера - сервер генерирует некую случайную последовательность байт и отсылает обратно - клиент отсылает хеш (пароль юзера + последовательность) на сервер, где сервер делает тоже хеш из своего пароля и последовательности. если совпали, то сервер пускает к себе клиент. а что, WNetAddConnection2 такими мелочами не занимается? или, быть может, я что-то не так понял? |
Отправлено: 20:55, 19-02-2005 | #6 |
Старожил Сообщения: 300
|
Профиль | Сайт | Отправить PM | Цитировать Kelasant
1. Вместо ADMIN$ лучше ADMIN$\Temp 2. А зачем реестр использовать? Есть папка Автозагрузка (Startup)... 3. Вообще все это лучше через WMI прокрутить (Windows Management Instrumentation). Там даже есть специальный метод Win32_Process.Create для удаленного запуска программы. Подробнее в MSDN'e http://msdn.microsoft.com/library/de...l/anch_wmi.asp |
Отправлено: 21:16, 19-02-2005 | #7 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать 1. Согласен.
Еще лучше: если нет ADMIN$\Temp (ну мало ли...), то тогда "по старинке" снова в ADMIN$ 2. Да, свежее решение Тоже покатит - как вариант, если нет коннекта к реестру. 3. А ту не совсем понятно: с помощью средств WMI Вы предлагаете заменить только этап запуска инсталляшки? Или же "все это", начиная с подключения к машине? Спасибо! |
Отправлено: 17:40, 20-02-2005 | #8 |
Старожил Сообщения: 300
|
Профиль | Сайт | Отправить PM | Цитировать Kelasant
Цитата:
Цитата:
|
||
Отправлено: 19:07, 20-02-2005 | #9 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Цитата:
Цитата:
Цитата:
Цитата:
Постараюсь начать изучать уже... Спасибо. |
||||
Отправлено: 20:14, 20-02-2005 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
инсталляция беспроводной мыши | igiron | Хочу все знать | 7 | 25-03-2008 14:42 | |
Что с сетью? аппаратная или программная проблема? | LEXX2002 | Сетевые технологии | 5 | 02-12-2004 12:13 | |
Программная отсылка файлов с помощью SMTP | rarelang | Программирование и базы данных | 1 | 03-07-2004 13:41 | |
Программная перезагрузка NT | amdmax | Программирование и базы данных | 6 | 16-01-2004 02:46 | |
Программная перезагрузка XP | Fulcrum | Программирование и базы данных | 3 | 28-04-2003 19:00 |
|