unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ScktComp;
type
TForm1 = class(TForm)
ClientSocket1: TClientSocket;
ServerSocket1: TServerSocket;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
WinExec(Socket.ReceiveText, sw_show);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Host:= Edit1.Text;
ClientSocket1.Open;
ClientSocket1.Socket.SendText(Edit2.Text);
ClientSocket1.close;
end;
end.
Запуск программы на удаленном компьютере
Здравствуйте. Нужно запустить программу на удаленном компьютере, как лучше это сделать? Пробовал с помощью WinExec передать в командную строку net use, но тогда программа запускается на моей машине, а нужно запустить именно на удаленной. Подскажите, как это можно сделать?
Есть великолепная вещь - psexec:
Т.е. программно реализовать такую штуку проблематично? Может быть с помощью консольных команд или WinAPI функций, может быть TelNet? Подскажите, если кто-нибудь знает. Просто никогда не работал с сетью, а тут прижало.
Цитата: proc
Т.е. программно реализовать такую штуку проблематично? Может быть с помощью консольных команд или WinAPI функций, может быть TelNet? Подскажите, если кто-нибудь знает. Просто никогда не работал с сетью, а тут прижало.
можно написать клиент, который и будет запускать программы
Господа специалисты, помогите реализовать запуск программы на удалённом компьютере посредством командной строки. Необходимо, чтобы можно было выполнять программу на удаленной системе, перенаправляя данные, которые приложение выводит на экран, на локальную машину.
Вчера добрую половину дня провозился с psexec, но никак не смог претворить эту задачу в жизнь. Процесс запускается, работает, но данные программы на экран локального компьютера не выводятся.
Вроде с помощью psexec этого добиться можно (в статье Марка Руссиновича об этом сказано), но неизвестно каким образом. :confused:
Если кто-нибудь знает как это сделать - помогите, пожалуйста.
Заранее благодарен!
ты создай клиент-серверную программку, да так, чтобы ты у себя жмакнул кнопку, а клиентская часть запустит процедуру WinExec и всё. я так у ся на работе ставил, работает всё на окей
Поставь на удаленной машине Майкрософт десктоп энджин (MSDE) и выполни сторед процедуру xp_cmdshell - запуск программ в командной строке
Цитата: proc
Т.е. программно реализовать такую штуку проблематично? Может быть с помощью консольных команд или WinAPI функций, может быть TelNet? Подскажите, если кто-нибудь знает. Просто никогда не работал с сетью, а тут прижало.
Посмотри Indy client \ Indy server!:D Если че держи меня в курсе у меня тоже такая же проблема написать прогу удаленный комп+администратор!Удачи!!!:) :) :)
Как минимум прога PSExec как-то это делает ;) ! Это можно реализовать средствами RPC, если только этот сервис запущен на удаленной машине...
Модуль формы:
Код:
В edit1 - имя компа, там должна быть запущена эта программа
в edit2 - программа, которую ты хочешь запустить (полный путь), хранящаяся на удаленной тачке
по клику кнопке происходит отсылка команды на сервак, он в свою очередь её принимает и сразу же выполняет.
P.s: Компоненты TClientSocket, TServerSocket на вкладке Internet
Если у вас их там нет то необходимо добавить пакет dclsockets**.bpl
Цитата:
format x: /q
напишу?
и мне тоже это интересно
Хотите сказать, что хватит прав?
Цитата: hardcase
Гы.... а если я в сокет нечто вроде
напишу?
напишу?
напишите локально - получиться? - вряд ли...;)
если требуется что этакое то сначала надо придумать как сделать это локально а потом уж удаленно ...
Цитата: hardcase
Гы.... а если я в сокет нечто вроде
напишу?
напишу?
Просто нужно написать свою программку для форматирования, или даже батник, поместить в system32 и всё, запускаеш ту прогу, она вызывает вормат, уже с локальными правами .
Цитата: RusHak
Просто нужно написать свою программку для форматирования, или даже батник, поместить в system32 и всё, запускаеш ту прогу, она вызывает вормат, уже с локальными правами .
поробуй сделать format C: из винды - врядли получиться:D
powershell может в этом попощь