Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.05;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.027 c
14-1100774346
DiamondShark
2004-11-18 13:39
2004.12.05
ASCII Kabbalah


1-1101112187
Ega23
2004-11-22 11:29
2004.12.05
TRxSpeedButton в триггерном режиме


1-1101051334
Al1
2004-11-21 18:35
2004.12.05
Hex в String и наоборот


1-1100341699
dimaxx
2004-11-13 13:28
2004.12.05
Парсер путей файлов


14-1100595933
Igorek
2004-11-16 12:05
2004.12.05
БД - редактирование записи как в Object Inspectore