Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];

Вниз

Как заставить сетевой комп запустить приложение командой сервера?   Найти похожие ветки 

 
Slonco   (2004-09-30 08:57) [0]

Вкраце. Есть программа на сервере, которая в определенный момент должна заставить некоторые сетевые компьютеры запустить некое приложение. Как это делается? Какие существуют методики? Помогите кто сталкивался с этой проблемой.
Спасибо.


 
Slonco   (2004-09-30 09:01) [1]

Сеть LAN если что.


 
Rouse_ ©   (2004-09-30 09:38) [2]

На нужных тебе компьютерах запускается написанный тобой сервис, потом связываешся с нужным тебе сервисом и отдаешь ему команду на нужные тебе действия...


 
Slonco   (2004-09-30 09:48) [3]

А, скажем, службы Telnet и RPC можно приспособить для этой цели? Или они не связаны с поставленным мною вопросом?


 
Alex Konshin ©   (2004-09-30 10:13) [4]

Команду "at" не пробовал?


 
Slonco   (2004-09-30 10:25) [5]

Неа, а что это за команда. Можно поподробнее, плииииииииииз :)


 
kaZaNoVa ©   (2004-09-30 14:00) [6]

Slonco   (30.09.04 9:48) [3]

> А, скажем, службы Telnet и RPC можно приспособить для
> этой цели

Telnet запросто, но его сначала нужно запустить ..  (по умолчанию он отключён)+ надо знать пароли локальных пользователей ...

RPC точно не знаю, но если нет патча, то можно юзать его через эксполоит (поищи в нете - он идёт исходником на си)


 
Slonco   (2004-09-30 14:01) [7]

Подробности пришлось искать самому. Нашел я эту at, это команда виндовозовской командной строки:

At
Вывод списка запланированных команд или планирование запуска команд или программ на компьютере в указанное время. Для работы команды at должна быть запущена служба расписаний.

at [\\имя_компьютера] [[код] [/delete] | /delete [/yes]]

at [\\имя_компьютера] время [/interactive] [/every:дата[,...] | /next:дата[,...]] команда

Все гениальное оказалось весьма простым! Однако, можно ли сделать жизнь еще слаще? Можно ли запустить программу СРАЗУ, не устанавливая в командной строке времени и даты запуска, а? Есть ли такая команда? Я что-то не могу найти :(


 
Reindeer Moss Eater ©   (2004-09-30 14:17) [8]

Есть ли такая команда?

Команда кому?


 
Slonco   (2004-09-30 14:27) [9]

Команда от компа на котором стоит Win2003Server сетевому компу. Я имею ввиду команду для командной же строки виндовс.


 
Reindeer Moss Eater ©   (2004-09-30 14:29) [10]

Команда отдается кому-то кто её может принять и понять что она означает.
Это может быть программа.
На том компьютере есть такая программа?


 
BiN ©   (2004-09-30 16:59) [11]

Можно использовать WMI и иже с ним
вот небольшой пример на VB, переделка на Дельфи занимает 3 минуты:

http://www.enterpriseitplanet.com/resources/scripts_win/article.php/3081841


 
Slonco   (2004-10-01 11:28) [12]

Все это хорошо, но я не знаю VB скриптов и переделка на Дельфи убьет полдня (в лучшем случае). Вот как сие перевести на Дельфи? Я не представляю:

"************************************************************************
"*This script is for executing an application on a remote
"*computer running Win2K or WinNT w/WMI installed.
"*
"*Author: Darron Nesbitt
"*Date: 7/10/2001
"*
"************************************************************************

Dim strComputerName " The Computer Name to be queried via WMI
Dim strWinMgt" The WMI management String

On Error Resume Next

"get computer"s name or ip address
strComputerName = ucase(InputBox("Enter the remote computers name or IP","Computer Name/IP"))
AppPath = ucase(InputBox("Enter path to application:" & VBCRLF & VBCRLF & "Example:C:\WINNT\SYSTEM32\Calc.exe","Application Path"))
WorkingDirectory = ucase(InputBox("Enter path to application directory" & VBCRLF & VBCRLF &  "Example: C:\WINNT\SYSTEM32","Application Working Directory"))
strWinMgt = "winmgmts://" & strComputerName & ""

"
" Get Computer/User Info
"
Set CompSysSet = GetObject(strWinMgt).ExecQuery("select * from Win32_ComputerSystem")
for each CompSys in CompSysSet
        strDescription = CompSys.Description
        strModel       = CompSys.Model
        strName        = CompSys.Name
strManufacturer= CompSys.Manufacturer
strUserName= CompSys.UserName
next

CompInfo = "Computer Information" & VBCrLf & VBCrLf
CompInfo = CompInfo & "Computer Name: " & strName & VBTab & "User: " & strUserName & VBCrLf

"connect to processes
Set Process = GetObject(strWinMgt).Get("Win32_Process")

"start app
RetVal = Process.Create (AppPath,WorkingDirectory,null,PID)

"if 0 not returned error
if RetVal <> 0 then
MsgBox "Error: " & Err.Description & ":" & Err.Number
else

"build ProcessInfo string
Set Processes = GetObject(strWinMgt).ExecQuery("select * from Win32_Process where ProcessID = " & PID)
for each Process in Processes
RetVal = Process.GetOwner(strUser,strDomain)
ProcessInfo = "Name: " & Process.Caption & VBTAB & "ProcessID: " & PID & VBCRLF
ProcessInfo = ProcessInfo & "Process Owner: " & ucase(strDomain) & "\" & ucase(strUser) & VBCRLF
next

"display info about computer and process
RetVal = MsgBox (CompInfo & VBCRLF & VBCRLF & "Application started." & VBCRLF & VBCRLF & _
 ProcessInfo,VBOKOnly,strComputerName & " - Start Application")
end if

msgbox "Done!!"


Хэльп плиииииз!



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.033 c
1-1101302963
Саша
2004-11-24 16:29
2004.12.05
Макроподстановка


6-1096101031
Wiz@rd
2004-09-25 12:30
2004.12.05
Какой запрос?


4-1098472040
Seamcat
2004-10-22 23:07
2004.12.05
Окна


14-1100796182
Marina_Sm
2004-11-18 19:43
2004.12.05
пример COM a на Delphi


1-1101290926
Prove
2004-11-24 13:08
2004.12.05
как такое возможно?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский