Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удалённый доступ, запустить прогу на удаленном компе 
:(
    Опции темы
Aline
Дата 1.12.2008, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



Всем привет!

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

Нашла пример, попробовала реализовать такой код:

Код

sLogin = txtbUser.Text;
            sPassword = txtbPassword.Text;
            sComputer = mtxtbIP.Text;

            
            //создание процесса на удаленной машине
            ManagementScope ms;
            ConnectionOptions co = new ConnectionOptions();
            co.Username = sLogin;
            co.Password = sPassword;
            //ms = new ManagementScope("\\\\" + sComputer + "\\root", co);
            ms = new ManagementScope(string.Format(@"\\{0}\root\default", sComputer), co);

            ms.Connect();
            ManagementPath path = new ManagementPath("Win32_Process");
            System.Management.ManagementClass classObj = new System.Management.ManagementClass(ms, path, null);
            System.Management.ManagementBaseObject inParams = null;
            inParams = classObj.GetMethodParameters("Create");
            inParams["CommandLine"] = "notepad.exe";
            inParams["CurrentDirectory"] = "C:\\WINDOWS\\system32\\";
            ManagementBaseObject outParams = classObj.InvokeMethod("Create", inParams, null);

            //и убийство этого процесса
            ManagementObject process = new System.Management.ManagementObject((ManagementScope)(ms), new ManagementPath(ConstructPath(System.Convert.ToString(outParams.Properties["ProcessId"].Value))), null);
            inParams = null;
            process.Scope.Options.EnablePrivileges = true;
            inParams = process.GetMethodParameters("Terminate");
            inParams["Reason"] = ((System.UInt32)(0));
            outParams = process.InvokeMethod("Terminate", inParams, null);


В качестве логина и пароля - логин и пароль  пользователя на удаленном компе, IP адрес задается в ручную по запросу.

Запускаю прогу и выскакивает сообщение об ошибке:

An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in System.Management.dll

Additional information: Сервер RPC недоступен. (Исключение из HRESULT: 0x800706BA)


В службах RPC и COM+ работают на обоих компах. Что это может быть и что делать?
PM MAIL   Вверх
MasterOfCode
Дата 1.12.2008, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



Цитата(Aline @  1.12.2008,  18:01 Найти цитируемый пост)
Запускаю прогу и выскакивает сообщение об ошибке: 

В какой строке ошибка?


--------------------
user posted image
PM ICQ   Вверх
Aline
Дата 1.12.2008, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



ms.Connect();
PM MAIL   Вверх
Aline
Дата 5.12.2008, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



После настройки всяких параметров в системе удалось приконектиться к компу, т.е. теперь строка

Код

ms.Connect(); 


выполняется, а вот дальше - без изменений. Никаких ошибок не выдает, просто notepad не запускается...интересно почему?
PM MAIL   Вверх
PashaPash
Дата 5.12.2008, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 13
Всего: 49



Aline, скорее всего запускается, но в другой сессии. посмотри в task manager.


--------------------
PM MAIL WWW   Вверх
Aline
Дата 5.12.2008, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 470
Регистрация: 22.7.2005
Где: Таруса

Репутация: нет
Всего: нет



PashaPash, но мне то надо, чтобы он запускался как нужно, чтобы я видела его окно smile
PM MAIL   Вверх
PashaPash
Дата 5.12.2008, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 13
Всего: 49



Aline, через WMI вроде никак. Даже sysinternals psexec умеет такое только локально (не проверял smile.

Это сообщение отредактировал(а) PashaPash - 5.12.2008, 17:03


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0438 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.