![]() |
удаленная программная инсталляция
Привет всем!
Хочу программно проинсталлировать какую-то програмульку на другой машине. Тоесть, образно говоря, запускаю свою программу, задаю имя (IP) машины, имя и пароль администратора компьютера, указываю путь к инсталляшке и все. Чтобы инсталляшка по сети была послана на указанную машину, там ее, по всей видимости, подхватила какая-то служба и запустила на выполнение с необходимыми параметрами и с правами админа. Хочу, но пока не пойму, как это сделать. Использую Borland C++ Builder 6.0. Вполне устроит, если это будет работать только с удаленными машинами под Win2K и выше. Кто-то сможет подсказать, куда направить свой взгляд и на что? |
А ты не пробовал это делать через групповые политики в AD??
|
Через групповые политики? Хм.....
Вероятно, для домена это неплохая идея. Но дело в том, что это ощутимо сужает круг охваченных сетей. Неплохо бы и для простых рабочих групп такую возможность. В любом случае - спасибо за инфу, Лехха :) |
Вдогонку:
В общем, замутил я примерно так: использовал Win API, сделал 4 шага. 1. Конектился к машине с помощью функции: - WNetAddConnection2 2. Далее копировал необходимую инсталляшку в \ADMIN$ - CopyFile 3. Потом подсоединялся к регистру и писал в "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnce" - RegConnectRegistry - RegOpenKeyEx - RegSetValueEx - RegCloseKey 4. Ну и потом ребутил тачку - InitiateSystemShutdownEx После чего сразу после логина запускалась инсталляшка и делала что надо. В общем, как в песне. Правда, есть пару неудобств. - Соединяться хочет не всегда - нередко чего-то ей не хватает, капризное подсоединение :( То ли домен у меня нехорошо настроен, то ли глюки какие-то по сети... - Выбрал шару ADMIN$ - в Windows должен быть всегда (насколько я понимаю). А то определяй еще, какие у нее есть шары. - Не очень мне нравиться использование реестра. а вдруг какой-нибудь не в меру шустрый локальный админ с целью оптимизации отрубит RemoteRegistry?! Можно, конечно, развести руками и сказать: "сами виноваты" - но все же? Может, можно как-то иначе? Может, в таком случае как-то RPC использовать - для подьема службы удаленного подключения реестра или же для прямого запуска инсталляшки? Аль еще какой вариант? Будут какие-то мнения, господа? |
Kelasant
См. psexec от www.sysinternals.com |
мда, интересная утилитка - спасибо, hasherfrog.
правда, использовать ее я навряд ли буду, поскольку от меня требуется свой код, и не для себя я ее пишу. из плюсов: увидел, что я на правильном пути - pcexec конектится к машине аналогично. осталось только разобраться, как он процессы запускает.... минусы: промелькнули слова о том, что пароль идет по сети в открытом виде! А как же защищенность аутентификации в винде? я же слышал, что аутентификация в винде идет в три этапа: - клиент посылает имя юзера - сервер генерирует некую случайную последовательность байт и отсылает обратно - клиент отсылает хеш (пароль юзера + последовательность) на сервер, где сервер делает тоже хеш из своего пароля и последовательности. если совпали, то сервер пускает к себе клиент. а что, WNetAddConnection2 такими мелочами не занимается? или, быть может, я что-то не так понял? |
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 |
1. Согласен.
Еще лучше: если нет ADMIN$\Temp (ну мало ли...), то тогда "по старинке" снова в ADMIN$ 2. Да, свежее решение :) Тоже покатит - как вариант, если нет коннекта к реестру. 3. А ту не совсем понятно: с помощью средств WMI Вы предлагаете заменить только этап запуска инсталляшки? Или же "все это", начиная с подключения к машине? Спасибо! |
Kelasant
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
Постараюсь начать изучать уже... Спасибо. |
Kelasant
Можно еще пользовать стандартный msiexec.exe, тут тогда вообще можно просто обойтись одним батником и не морозиться, единственное, что для него нужны пакеты msi. но существует много прог которые помогут создать пакеты установки..., причем одна из которых идет в стандартной поставке с win2000 server и win2003 server. |
Время: 23:41. |
Время: 23:41.
© OSzone.net 2001-