Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » удаленная программная инсталляция

Ответить
Настройки темы
удаленная программная инсталляция

Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


Привет всем!
Хочу программно проинсталлировать какую-то програмульку на другой машине. Тоесть, образно говоря, запускаю свою программу, задаю имя (IP) машины, имя и пароль администратора компьютера, указываю путь к инсталляшке и все. Чтобы инсталляшка по сети была послана на указанную машину, там ее, по всей видимости, подхватила какая-то служба и запустила на выполнение с необходимыми параметрами и с правами админа.

Хочу, но пока не пойму, как это сделать.
Использую Borland C++ Builder 6.0.
Вполне устроит, если это будет работать только с удаленными машинами под Win2K и выше.

Кто-то сможет подсказать, куда направить свой взгляд и на что?

Отправлено: 18:52, 10-02-2005

 
lehha


Сообщения: n/a

Профиль | Цитировать


А ты не пробовал это делать через групповые политики в AD??

Отправлено: 08:59, 11-02-2005 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


Через групповые политики? Хм.....
Вероятно, для домена это неплохая идея.
Но дело в том, что это ощутимо сужает круг охваченных сетей.
Неплохо бы и для простых рабочих групп такую возможность.

В любом случае - спасибо за инфу, Лехха

Отправлено: 19:52, 11-02-2005 | #3


Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить 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


Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Kelasant
См. psexec от www.sysinternals.com

Отправлено: 00:01, 19-02-2005 | #5


Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


мда, интересная утилитка - спасибо, hasherfrog.
правда, использовать ее я навряд ли буду, поскольку от меня требуется свой код, и не для себя я ее пишу.

из плюсов: увидел, что я на правильном пути - pcexec конектится к машине аналогично.
осталось только разобраться, как он процессы запускает....

минусы: промелькнули слова о том, что пароль идет по сети в открытом виде! А как же защищенность аутентификации в винде?
я же слышал, что аутентификация в винде идет в три этапа:
- клиент посылает имя юзера
- сервер генерирует некую случайную последовательность байт и отсылает обратно
- клиент отсылает хеш (пароль юзера + последовательность) на сервер, где сервер делает тоже хеш из своего пароля и последовательности. если совпали, то сервер пускает к себе клиент.

а что, WNetAddConnection2 такими мелочами не занимается? или, быть может, я что-то не так понял?

Отправлено: 20:55, 19-02-2005 | #6


Аватара для Savant

Старожил


Сообщения: 300
Благодарности: 6

Профиль | Сайт | Отправить 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
Благодарности: 0

Профиль | Отправить PM | Цитировать


1. Согласен.
Еще лучше: если нет ADMIN$\Temp (ну мало ли...), то тогда "по старинке" снова в ADMIN$

2. Да, свежее решение
Тоже покатит - как вариант, если нет коннекта к реестру.

3. А ту не совсем понятно: с помощью средств WMI Вы предлагаете заменить только этап запуска инсталляшки?
Или же "все это", начиная с подключения к машине?

Спасибо!

Отправлено: 17:40, 20-02-2005 | #8


Аватара для Savant

Старожил


Сообщения: 300
Благодарности: 6

Профиль | Сайт | Отправить PM | Цитировать


Kelasant
Цитата:
Еще лучше: если нет ADMIN$\Temp (ну мало ли...), то тогда "по старинке" снова в ADMIN$
У меня складывается впечатление, что Вы не совсем понимаете, что делаете... ADMIN$ - удаленный %SYSTEMROOT% для активной ОСи. Папка Temp там существует всегда, при её удалении пользователем восстанавливается при перезапуске системы.
Цитата:
А ту не совсем понятно: с помощью средств WMI Вы предлагаете заменить только этап запуска инсталляшки? Или же "все это", начиная с подключения к машине?
Зачем вообще что-то куда-то копировать? Создаете у себя на машине шару Distr и обращаетесь к дистрибутивам как \\computerName\Distr\programName\setupMyProg.exe . Единственная проблема - программирование с помощью WMI (ведь это по сути расширение для VBScript). Чтобы писать программы на С++, придется ознакомится с содержанием этого документа http://msdn.microsoft.com/library/de...pi_for_wmi.asp

Отправлено: 19:07, 20-02-2005 | #9


Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата:
У меня складывается впечатление, что Вы не совсем понимаете, что делаете...
Ну, с кем порою не бывает?!...

Цитата:
ADMIN$ - удаленный %SYSTEMROOT% для активной ОСи.
Да, это мне известно.

Цитата:
Папка Temp там существует всегда, при её удалении пользователем восстанавливается при перезапуске системы.
Хм, каюсь - не знал, что винда сама восстанавливает папку windows\temp; мне никогда не хотелось ее удалять, да и вообще этой папкой не пользуюсь. Я переменные окружения TMP и TEMP перенаправляю всегда на disk:\Temp - мне так удобнее, не хочу засорять Windows (или даже системный диск) излишне. На машинах некоторых юзеров я порой обнаруживал гигабайты в temp.


Цитата:
Единственная проблема - программирование с помощью WMI (ведь это по сути расширение для VBScript). Чтобы писать программы на С++, придется ознакомится с содержанием этого документа http://msdn.microsoft.com/library/d...api_for_wmi.asp
Извините, если что не так. Но я в некоторых вещах сильно плаваю, поскольку не изучал ранее. К этим вещам относятся COM, WMI...
Постараюсь начать изучать уже...

Спасибо.

Отправлено: 20:14, 20-02-2005 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » удаленная программная инсталляция

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
инсталляция беспроводной мыши 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




 
Переход