Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Запуск блокнота и не только, на удаленной машине. / 22 сообщений из 22, страница 1 из 1
01.07.2015, 10:36
    #38996579
vadipok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
Доброе утро, уважаемые коллеги!

В конторе есть дорогостоящие машины для расчета гидравлических моделей.(стоимость каждой примерно 300 к. руб была, когда брали. 80-100 RAM. 32-64 CPU)
Но такие машины не всем достались, и поэтому у некоторых расчеты идут очень долго(бывает до 1-го месяца).
1 модель состоит из кучи мелких не зависимых расчетов(до 20 000). В общем нет разницы на какой машине ты выполнишь тот или иной расчет.
Поэтому решили по пробовать создать искусственный кластер из всех машин в которых выполняются такие расчеты.

1) По удаленке подключились к машине YY.Y.Y.YYY и выполнили команду mored -n 4 \\XX.X.X.XXX\C$\test\base.
Все ок, результаты расчетов упали в машину XX.X.X.XXX, в общем туда куда надо.
Вывод, теоритически реально создать искусственный кластер.

2) Создал приложение по примеру от сюда .
Все ок, блокнот запускается на удаленной машине.

3) команду блокнота меняем на команду mored -n 4 \\XX.X.X.XXX\C$\test\base.
И ничего не происходит, ошибку не выдает.
Нужный процесс на удаленной машине не появляется.
Начали извращаться различными командами (см. ниже), эффекта 0.

В чем могут быть грабли? Куда копать?
Спасибо большое!

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
			//Запуск блакнота
			//////////////////////////////
			BSTR MethodName = SysAllocString(L"Create");
			BSTR ClassName = SysAllocString(L"Win32_Process");
			IWbemClassObject* pClass = NULL;
			hres = pSvc->GetObject(ClassName, 0, NULL, &pClass, NULL);
			IWbemClassObject* pInParamsDefinition = NULL;
			hres = pClass->GetMethod(MethodName, 0, &pInParamsDefinition, NULL);
			IWbemClassObject* pClassInstance = NULL;
			hres = pInParamsDefinition->SpawnInstance(0, &pClassInstance);
			VARIANT varCommand;
		    varCommand.vt = VT_BSTR;
			//varCommand.bstrVal = _bstr_t(L"\\XX.X.X.XXX\C$\Program Files\ROXAR\simulation\bin\more\v7.0\Windows_NT_X64\mored.exe -n 4 \\XX.X.X.XXX\C$\test\base");
			varCommand.bstrVal = _bstr_t(L"cmd.exe /c mored -n 4 \\XX.X.X.XXX\C$\test\base");
			hres = pClassInstance->Put(L"CommandLine", 0, &varCommand, 0);
			//wprintf(L"The command is: %s\n", V_BSTR(&varCommand));
			IWbemClassObject* pOutParams = NULL;
			cout << cpu_memory.employeeID << endl;
			if (atoi(cpu_memory.employeeID) == 445) 
			{
				hres = pSvc->ExecMethod(ClassName, MethodName, 0, NULL, pClassInstance, &pOutParams, NULL);
				cout << "good" << endl;
				if (FAILED(hres))
				{
					cout << "Could not execute method. Error code = 0x" << hex << hres << endl;
					cout << "hachalbak" << endl;
				}
			}
			//////////////////////////////
...
Рейтинг: 0 / 0
01.07.2015, 11:06
    #38996620
YesSql
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
vadipokДоброе утро, уважаемые коллеги!

В конторе есть дорогостоящие машины для расчета гидравлических моделей.(стоимость каждой примерно 300 к. руб была, когда брали. 80-100 RAM. 32-64 CPU)
Но такие машины не всем достались, и поэтому у некоторых расчеты идут очень долго(бывает до 1-го месяца).
1 модель состоит из кучи мелких не зависимых расчетов(до 20 000). В общем нет разницы на какой машине ты выполнишь тот или иной расчет.
Поэтому решили по пробовать создать искусственный кластер из всех машин в которых выполняются такие расчеты.

1) По удаленке подключились к машине YY.Y.Y.YYY и выполнили команду mored -n 4 \\XX.X.X.XXX\C$\test\base.
Все ок, результаты расчетов упали в машину XX.X.X.XXX, в общем туда куда надо.
Вывод, теоритически реально создать искусственный кластер.

2) Создал приложение по примеру от сюда .
Все ок, блокнот запускается на удаленной машине.

3) команду блокнота меняем на команду mored -n 4 \\XX.X.X.XXX\C$\test\base.
И ничего не происходит, ошибку не выдает.
Нужный процесс на удаленной машине не появляется.
Начали извращаться различными командами (см. ниже), эффекта 0.

В чем могут быть грабли? Куда копать?
Спасибо большое!


А чем SSH не устраивает?
...
Рейтинг: 0 / 0
01.07.2015, 11:28
    #38996645
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
Ошибки надо обрабатывать. Может прав каких не хватает.

ИМХУ проще самодельную запускалку написать: висит, слушает какой-то TCP порт, по входящему соединению принимает командную строку, запускает, ждет завершения, сообщает результат.
...
Рейтинг: 0 / 0
01.07.2015, 13:26
    #38996842
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
vadipok, попробуйте psexec .
...
Рейтинг: 0 / 0
01.07.2015, 13:50
    #38996871
vadipok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
bazilevadipok, попробуйте psexec .

Доступа нет на technet, кое как допросился до msdn.
Скиньте пожалуйста содержимое сюда в spoiler.
Спасибо!
...
Рейтинг: 0 / 0
01.07.2015, 13:52
    #38996872
vadipok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
YesSql,

Не уверен.
Беглое гугление говорит, что там могут быть трудности с определением свободных ресурсов на удаленной машине и определением не запущен ли там схожий процесс.
А это архи важно для нашей идеи.
...
Рейтинг: 0 / 0
01.07.2015, 13:53
    #38996876
vadipok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
Dima T,

Спасибо!
Но разрешения ставить клиентское приложение на удаленных машинах не дадут. У нас это принципиально.
...
Рейтинг: 0 / 0
01.07.2015, 14:00
    #38996885
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
vadipokНо разрешения ставить клиентское приложение на удаленных машинах не дадут. У нас это принципиально.
Странная у вас контора. Прогу самописную нельзя ставить, а троянов писать можно ))

Может не работает потому что админами заблокирована такая возможность?
...
Рейтинг: 0 / 0
01.07.2015, 14:01
    #38996890
vadipok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
Dima TvadipokНо разрешения ставить клиентское приложение на удаленных машинах не дадут. У нас это принципиально.
Странная у вас контора. Прогу самописную нельзя ставить, а троянов писать можно ))

Может не работает потому что админами заблокирована такая возможность?



vadipok2) Создал приложение по примеру от сюда.
Все ок, блокнот запускается на удаленной машине.
...
Рейтинг: 0 / 0
01.07.2015, 14:06
    #38996894
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
vadipok2) Создал приложение по примеру от сюда.
Все ок, блокнот запускается на удаленной машине.
Может твоей проги просто нет в путях и виндовс не знает где твой exe?
Для теста запусти на том компе консоль (cmd.exe) и напиши в ней свою командную строку. Посмотри что пишет.
...
Рейтинг: 0 / 0
01.07.2015, 14:07
    #38996897
YesSql
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
vadipokYesSql,

Не уверен.
Беглое гугление говорит, что там могут быть трудности с определением свободных ресурсов на удаленной машине и определением не запущен ли там схожий процесс.
А это архи важно для нашей идеи.
SSH не предназначен для определения каких-либо ресурсов и пр.. Это консоль на удаленную машину. Что ты на ней запускаешь зависит...
...
Рейтинг: 0 / 0
01.07.2015, 14:07
    #38996898
vadipok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
Dima Tvadipok2) Создал приложение по примеру от сюда.
Все ок, блокнот запускается на удаленной машине.
Может твоей проги просто нет в путях и виндовс не знает где твой exe?
Для теста запусти на том компе консоль (cmd.exe) и напиши в ней свою командную строку. Посмотри что пишет.

Dima T1) По удаленке подключились к машине YY.Y.Y.YYY и выполнили команду mored -n 4 \\XX.X.X.XXX\C$\test\base.
Все ок, результаты расчетов упали в машину XX.X.X.XXX, в общем туда куда надо.
Вывод, теоритически реально создать искусственный кластер.
...
Рейтинг: 0 / 0
01.07.2015, 14:09
    #38996901
YesSql
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
vadipokbazilevadipok, попробуйте psexec .

Доступа нет на technet, кое как допросился до msdn.
Скиньте пожалуйста содержимое сюда в spoiler.
Спасибо!

sysinternals
...
Рейтинг: 0 / 0
01.07.2015, 14:20
    #38996909
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
vadipokДоступа нет на technet, кое как допросился до msdn. Скиньте пожалуйста содержимое сюда в spoiler.
....
Но разрешения ставить клиентское приложение на удаленных машинах не дадут. У нас это принципиально.
psexec это exe-шник. Исходников к нему нет. Ну и раз вам запрещено ставить посторонний софт, то и выкладывать его нет смысла .
...
Рейтинг: 0 / 0
01.07.2015, 14:37
    #38996919
vadipok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
bazile,

Официальные можно, почему нет.
...
Рейтинг: 0 / 0
01.07.2015, 14:42
    #38996921
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
vadipokОфициальные можно, почему нет.
Ок. Научи тогда как выложить exe-шник в спойлере :) Если серьезно, то могу выложить на Яндекс.Диск если у вас доступ открыт.
...
Рейтинг: 0 / 0
02.07.2015, 16:21
    #38998077
vadipok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
bazile,

Админа попросил, он мне скачал.
Спасибо!


Проблема сейчас всплыла по psexec.

1) Подключаюсь по удаленке к машине XX.X.X.XXX и выполняю команду
Код: plaintext
1.
mored -n 4 \\XX.X.X.XXX\C$\test\base


все отлично работает, результаты падают в машину XX.X.X.XXX

2) Подключаюсь по удаленке к машине YY.Y.Y.YYY и выполняю команду
Код: plaintext
1.
mored -n 4 \\XX.X.X.XXX\C$\test\base


все отлично работает, результаты падают в машину XX.X.X.XXX

3) Ни куда не подключаюсь, а из своей локальной машины выполняю
Код: plaintext
1.
psexec \\XX.X.X.XXX cmd /c "mored -n 4 \\XX.X.X.XXX\C$\test\base"


все отлично работает, результаты падают в машину XX.X.X.XXX

4) Ни куда не подключаюсь, а из своей локальной машины выполняю
Код: plaintext
1.
psexec \\YY.Y.Y.YYY cmd /c "mored -n 4 \\XX.X.X.XXX\C$\test\base"


Получаю ошибку:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
***************************************************************
ERROR File "\\XX.X.X.XXX\C$\test\base" does not exist.
Ошибка в синтаксисе команды.
***************************************************************
 usage: The mored program can be used in several ways, as follows:
     1) mored
        The mored program prompts for input and output files.
     2) mored filename
        The mored program reads the input filename.dat
        and creates output filename.out
     3) mored filename1 filename2
        The mored program reads the input filename1
        and creates output filename2
cmd exited on 10.2.3.96 with error code 255.



Как такое может быть? Веть логически он должен работать.
Помогите плиз.
...
Рейтинг: 0 / 0
02.07.2015, 16:38
    #38998103
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
vadipokКак такое может быть?
Во-первых, cmd там ни к чему. Во-вторых, учётная запись под которой psexec выполняет
команду на удалённой машине не имеет доступа к сети.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
02.07.2015, 16:47
    #38998117
vadipok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
Dimitry SibiryakovvadipokКак такое может быть?
Во-первых, cmd там ни к чему. Во-вторых, учётная запись под которой psexec выполняет
команду на удалённой машине не имеет доступа к сети.


Спасибо!
Пробовал на прямую, не получалось.
...
Рейтинг: 0 / 0
02.07.2015, 16:53
    #38998126
vadipok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
Код: plaintext
1.
psexec \\YYYYYYYYY cmd "/c psexec \\YYYYYYYYY cmd /c "mored -n 4 \\XXXXXXX\C$\test\base""



не помогло
...
Рейтинг: 0 / 0
02.07.2015, 17:09
    #38998143
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
vadipokне помогло
Цианид не предлагать? Тогда как насчёт чтения доки по psexec три раза перед сном?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
27.07.2015, 12:45
    #39016628
vadipok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск блокнота и не только, на удаленной машине.
Добрый день!

Три недели отпуска пошли на пользу, проблему решил.

Всем спасибо большое!

Код: plaintext
1.
varCommand.bstrVal = _bstr_t(L"psexec \\\\XX.X.X.XXX -u \"domain\\user\" -p \"pass\"  cmd /c \"mored -n 4 \\\\YY.Y.Y.YYY\\C$\\test\\base\"");
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Запуск блокнота и не только, на удаленной машине. / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]