1 (изменено: mozers, 2015-04-27 12:17:06)

Тема: HTA: LAN Administrator

Прошу прощения за долгое отсутствие.
Применял полученные на форуме знания для реализации практических задач.
Часть приложений -  узкопрофильна, но можно использовать их функции для построения своих приложений...

А вот новое сочинение - LAN Administrator - я думаю смогут использовать многие, кому не чужды задачи по администрированию локальной сети.
Все началось с варианта Xameleon, но постепенно обрастало новыми функциями и возможностями.

Принцип работы - прост:
- строим таблицу из хостов сети
- заполняем ее инфой, вытянутой из них
- контролируем их состояние, периодически пингуя их
- из контекстного меню выполняем над текущим (или несколькими выбранными) любую внутреннюю или внешнюю команду. Какую? - зависит только от вашей фантазии - список команд (как, впрочем, и много другое) - настраиваемый. Сейчас в него входят: пробуждение по сети, получение разнообразной инфы и управление удаленным ПК, удаленный запуск команд, установка и выполнение команд Remote Administrator и многое другое.

Публикуя это сообщение я очень надеюсь что к проекту на googlecode присоединятся и другие разработчики. Вместе мы сможем сделать его намного лучше!

2 (изменено: Rumata, 2011-10-19 01:36:10)

Re: HTA: LAN Administrator

Примите критику по коду - первое что попалось на глаза: файл ini.file.js. Цикл for in - для объектов вообще для перебора неупорядоченного набора ключей. Элементы массивов принято перебирать циклом for


...
				var arr_lines = text.split('\n');
...
				for (var i in arr_lines){

Предлагаю заменить на это:


...
				var arr_lines = text.split('\n');
...
				for (var i = 0; i < arr_lines.length; i++){

Проверка конфигурационной строки сложна и ограничена


...
					if (/^([^;#][^=]*?)\s*=\s*([^\r\n]*?)\s*$/.test(arr_lines[i])){

Будут странно обработаны строки, начинающиеся с пробела(ов) -- проверьте этот пример, а потом удалите из строки буковку а, оставив при этом пробел. Или заменив букву на символ комментария (; или #).


var re = /^([^;#][^=]*?)\s*=\s*([^\r\n]*?)\s*$/;

var s = ' a=b';

WScript.Echo(re.test(s));
WScript.Echo('$1=[' + RegExp.$1 + ']');
WScript.Echo('$2=[' + RegExp.$2 + ']');

Вот это попроще будет:

/^\s*([^;#\s]+)\s*=\s*(.+?)\s*$/
( 2 * b ) || ! ( 2 * b )

3 (изменено: mozers, 2011-10-19 12:29:56)

Re: HTA: LAN Administrator

2Rumata
Спасибо за отклик и реальные замечания!
Очень надеюсь что html-щики выскажутся более сурово (с дизайном окон я намутил...).
Регулярка - принимается за небольшим исправлением

/^\s*([^;#\s]+)\s*=\s*([^\r\n]*?)\s*$/

т.к. в предложенном варианте значением параметра мог стать перевод строки.
То, что теперь пользователь может затупить и без последствий поставить пробел в начале строки - это хорошо. И значение = "" думаю лучше разрешить.
По поводу цикла:

for (var i in arr_lines){

записывается - проще, смотрится - лучше, отрабатывает - быстрее, чем предложенный

for (var i = 0; i < arr_lines.length; i++){

Поэтому я использую его везде где только можно ИМХО "не принято" - не аргумент. Если будут приведены реальные аргументы - заменю.

4

Re: HTA: LAN Administrator

Если будут приведены реальные аргументы - заменю.

Однажды в Вашем проекте понадобиться поддержка Array#indexOf/Array#lastIndexOf, которые JScript не реализованы и Вы напишите такой код:


Array.prototype.indexOf = function(value)
{...

А потом Вы запустите такой код:


var arr = [1, 2, 3, 4, 5];
for (var i in arr) {
    Wscript.Echo(i);
}

и на выходе получите следующее:

indexOf
0
1
2
3
4
5

Видимо это не то, что должна делать программа.

for / for in это не то место где надо экономить на времени исполнения. Увеличение производительности мизерное, а путаницы в коде больше. Да и не много Вы выиграете, экономя на байтах )))

( 2 * b ) || ! ( 2 * b )

5

Re: HTA: LAN Administrator

Регулярка - принимается за небольшим исправлением ... т.к. в предложенном варианте значением параметра мог стать перевод строки.

Вы уверены? У Вас данные входного потока "раскидываются" в массив путем разрезания строки по символам перевода строк


...
                var arr_lines = text.split('\n');
...
                for (var i in arr_lines){
...
                    if (/^([^;#][^=]*?)\s*=\s*([^\r\n]*?)\s*$/.test(arr_lines[i])){
( 2 * b ) || ! ( 2 * b )

6

Re: HTA: LAN Administrator

Регулярка - принимается за небольшим исправлением ... т.к. в предложенном варианте значением параметра мог стать перевод строки.

Символ "." - это любой символ кроме перевода строки (ссылка)
Так что в рег. выражении Rumata перевод строки значением бы не стал в любом случае.

for (var i in arr_lines){

записывается - проще, смотрится - лучше, отрабатывает - быстрее, чем предложенный

А Вы это проверяли?
Насколько я знаю, for ... in - это самый медленный способ перебора элементов массива.

7

Re: HTA: LAN Administrator

Коллеги, спор о том, какие конструкции языка лучше или хуже, настоятельно предлагаю завершить здесь и, при желании, продолжить в отдельной теме. Ибо за словами становится не видно смысла данной темы.

8

Re: HTA: LAN Administrator

Лады, по поводу циклов спорить не будем

Вы уверены? У Вас данные входного потока "раскидываются" в массив путем разрезания строки по символам перевода строк

Да, уверен, проверял.
Режется то по символу '\n', а '\r' то остается в строке. Попробуйте в ini файле записать так:

param1=

param2=abc

Значением param1 должна быть пустая строка.
А вообще алгоритм наверное можно и нужно шлифовать.
Если кто то родит лучшую его реализацию - публикуйте в отдельной теме - я подключусь к обсуждению

9

Re: HTA: LAN Administrator

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

Любители построили Ковчег, а профессионалы - Титаник.

10 (изменено: DnsIs, 2011-10-20 07:46:55)

Re: HTA: LAN Administrator

Читаю эту ветку, у вас тут спор по поводу скорости циклов. Вспомнилось, что у меня в загашнике лежит скриптик один, который позволяет тестировать скорость выполнения кода, правда тестирования javascript браузерного. Вполне вероятно, что в WSH совсем другие будут данные.
Тем не менее, я протестил.
Скрипт лежит тут. Написан в виде Greasemonkey/scriptish-скрипта.

Код 1

function function1() {
var i=500, arr = new Array(500);
do {a = 0;} while(a=arr[--i]);
}

Код 2

function function2() {
var arr = new Array(500);
for(var i=0; i<500; i++) {arr[i] = 0;}
}

Код 3

function function3() {
var arr = new Array(500);
for (var i in arr){arr[i] = 0;}
}

Среднее из 3 запусков
Код 1  ~ 18 ms
Код 2  ~ 1.350 ms
Код 3  ~ 50 ms


Потом решил найти в инете прогу, которая бы замеряла скорость запуска программ. Ковырнул Google, нашел AppTimer
Код 1

loop = 10000*500;
function1(loop);
WScript.Echo('ok');

function function1(l) {
    var i=l, arr = new Array(l);
    do {a = 0;} while(a=arr[--i]);
}

Код 2

loop = 10000*500;
function2(loop);
WScript.Echo('ok');

function function2(l) {
    var arr = new Array(l);
    for(var i=0; i<l; i++) {arr[i] = 0;}
}

Код 3

loop = 10000*500;
function3(loop);
WScript.Echo('ok');

function function3(l) {
    var arr = new Array(l);
    for (var i in arr){arr[i] = 0;    }
}

Среднее из 20 запусков
Код 1 - 0,151185 ms
Код 2 - 2,864745 ms
Код 3 - 0,153900 ms

Вот не знаю, стоят ли чего то такие вот замеры, или нет?

Нас невозможно сбить с пути, нам пофигу куда идти.

11

Re: HTA: LAN Administrator

DnsIs, а данные первых запусков сохранились? Средние то ..они средние..начальных нет..

Любители построили Ковчег, а профессионалы - Титаник.

12 (изменено: DnsIs, 2011-10-20 10:17:49)

Re: HTA: LAN Administrator

Это WSH

Код 1    Код 2    Код 3
0,1503    2,8928    0,1683
0,1514    2,8603    0,1526
0,1503    2,8344    0,1509
0,1407    2,8524    0,1546
0,1530    2,8610    0,1620
0,1512    2,8629    0,1620
0,1396    2,8453    0,1517
0,1487    2,8525    0,1514
0,1493    2,8632    0,1522
0,1512    2,8737    0,1528
0,1522    2,8652    0,1507
0,1509    2,8537    0,1501
0,1644    2,8516    0,1522
0,1499    2,8253    0,1525
0,1535    2,8511    0,1512
0,1505    2,8787    0,1539
0,1500    2,9844    0,1519
0,1508    2,8577    0,1653
0,1610    2,8772    0,1502
0,1548    2,8515    0,1415

Все это конечно навскидку, но получается что в Firefox 8.0 самый быстрый метод for(var i=0; i<500; i++), а в WSH он самый медленный. Наверное тут нужно более точное тестироание.

Вот еще интересность

Нас невозможно сбить с пути, нам пофигу куда идти.

13

Re: HTA: LAN Administrator

DnsIs, stir#7:

alexii пишет:

Коллеги, спор о том, какие конструкции языка лучше или хуже, настоятельно предлагаю завершить здесь и, при желании, продолжить в отдельной теме. Ибо за словами становится не видно смысла данной темы.

14

Re: HTA: LAN Administrator

Пишу здесь, что предпринимал для осуществления багов и глюков, , в проге:
- удалил демо записи, т.е. очистил список....теперь не могу его заполнить..никак не появляется меню, и нет разлиновки поля..
- в таком режиме попробовал поставить галку - выдал ошибку скрипта.. убрал - то же самое..
мдя...кнопка РЕДИ теперь всегда показывает НОЛЬ...

- при рабочем варианте были глюки, программа нашла несуществующие хосты.. +3..7 к существующим 60..это довольно таки большая погрешность..но сильно утверждать не стану...попробую запустить его снова и проверить ветку сети заново..пока все глухо.. нет меню и все тут...


сравнивал с данными от проги:

Программа:  SP-Scaner (SolitaryPilgrim)
Версия:     v1.3  (27 ноября 2005)
Лицензия:   Freeware

Web-Site:   http://www.gcmsite.ru/
E-mail:     gcmsite@yandex.ru

Любители построили Ковчег, а профессионалы - Титаник.

15 (изменено: stir, 2011-10-21 12:10:18)

Re: HTA: LAN Administrator

еще довесок: если попробовать расширить меню вниз - ничего почти невыходит (но выходит смещение границ меню лев-прав), но если двигать любые колонки левее границы поля (не отпуская ловую клавишу мыши) этого меню - возникает ошибка.. допустим отменили продолжение кода.. то начинает ездить" за мышью правая граница этого меню.. пока не нажмешь мышью где-нибудь на пустом поле и не только - в любом месте экрана монитора..
попробуйте сами...

Любители построили Ковчег, а профессионалы - Титаник.

16

Re: HTA: LAN Administrator

2stir:
Не все понял о чем речь (лучше все таки писать баг-репорт о чем то одном и детально, по шагам, описывать как это можно воспроизвести).
1. Список вручную очищать нет необходимости, достаточно при вызове диалога "Add Hosts" установить чекбокс на пункте "Remove all exist hosts".
2. Диалог "Add Hosts" добавляет ВСЕ хосты из указанного диапазона (если не поставить галку "Add just responding hosts").
3. Все меню храниться в ini-файле. Если Вы его покорёжили то м.б. все что угодно (защита "от дурака", не реализована).
4. Размеры меню задаются автоматически при его создании. Изменить их нельзя. И зачем???
5. "если двигать любые колонки левее границы поля". Зачем??? А, ладно, принимается, в следующей версии сделаю обработку этой ошибки.

17 (изменено: stir, 2011-10-25 07:47:26)

Re: HTA: LAN Administrator

Файлы не трогал, . Могу попробовать видео или скрины выслать..желательно по почте..

/Если не предусмотреть вероятность того что кто-нибудь когда-нибудь возможно установит "деталь" НЕ ТАК, то есть очень большая вероятность того, что именно это и произойдет./



Вообщем смысл такой, я сохранил навсякий случай свой файл ини - все из-за него, а точнее тот факт что меню может быть вызвано только если есть хотя бы 1 строка, а т.к. я удалил все строки - меню нельзя вызвать. Если оставить а) пустую неудаляемую строку = гуд, б) ввести возможность нажатия правой клавиши мыши в любом месте программы, точнее пустого поля, для вызова меню = гуд.

У вас программа работает без сбоев??
сейчас стал добавлять хосты без удаления ваших строк с 192,168,130,0 по 255, тип=ПК, более ничего не ввел, нажал ентер" и вылезла ошибка:
строка 151, символ 3, объект не поддерживает это св-во или метод....продолжить .. /да-нет/...
ах, да! у меня сетевая карта отключена! Включаю.. ввожу снова данные жму..
найдены ПК + как в первый раз левый ай-пи откудато.. и.(!) снова таже ошибка, жму в ответ да, все в порядке.. Интересненько!

И вот еще личное пожелание, а можно ли скрывать лишнюю инфу о конкретном ай-пи?? Вот например технические характеристики ПК редко кого заинтересуют при постоянном мониторинге сети.. есть прога для этого и не одна, например, хардваре..правда платная.

Любители построили Ковчег, а профессионалы - Титаник.

18

Re: HTA: LAN Administrator

2stir:
1. У меня все работает без сбоев. Мне кажется что и Ваши ошибки Вы моделируете искусственно, отключая сетевую карту, курёжа произвольным образом ini-файл и т.п.
2. Если секция [context_menu] в ini-файле отсутствует, то при нажатии ПКМ (в любом месте рабочего окна) возникнет сообщение "Context menu not defined!". Если в секции [context_menu] что то написано неправильно, то произойдет сбой, поскольку предугадать бездумие невозможно.
3. Количество и содержимое выводимых колонок определяется 2 параметрами ini-файла: column_headers и column_contents. В первом хранятся заголовки таблицы, во втором - то, что будет в этих колонках показано. По моему понять принцип несложно, достаточно на них 1 раз глянуть. Т.е. можно (да и нужно) выводить в список только необходимую Вам инфу.
4. И еще раз повторяю: Программа просто НЕ МОЖЕТ добавить в список "левый" ip. Она добавляет ВСЕ ip ТОЛЬКО из указанного Вами диапазона.

Последние несущественные исправления. (zip не перепаковывал - лень)

19 (изменено: stir, 2011-10-26 06:13:49)

Re: HTA: LAN Administrator

mozers, извините, пожалуйста за поклеп насчет левых айпишников, разобрался - это серваки их генерируют - на Нетваре, . Они для своих нужд сгенерировали их, , я их не присваивал на клиентские машины. Я сразу то и не подумал про это.
Спасибо за п.3.. я всегда консультируюсь сначала у автора.. а потом уж сам могу че-нидь подкоректировать для себя.. но это уже не важно для этой темы..удаляюсь..
Работа тестеров в фирмах даже оплачивается, , здесь же мы помогаем друг другу совершенно безвозмездно, и я рад в дальнейшем оказать посильную помощь...

Любители построили Ковчег, а профессионалы - Титаник.

20

Re: HTA: LAN Administrator

LAN Admnistrator уже несколько раз обновился.
Чесноговоря публикуя сообщение о скрипте на этом форуме (а не на каком нибудь софт-рассаднике) я надеялся на пополнение команды разработчиков. Благо формат SVN как раз и предназначен для совместной работы над проектом.
Причем, как мне кажется, данное приложение могут кардинально улучшить не только специалисты, но и новички (например, придумать новую эффективную внешнюю команду).
Особенно я надеялся на предметную критику и помощь html-щиков, т.к. сам в этом деле - не слишком силён.

Надеялся и надеюсь, потому что те, кто потратил драгоценные 15 минут на изучение ini-файла находят для скрипта такие способы применения, о которых я и не предполагал

21

Re: HTA: LAN Administrator

mozers, видите ли в чём дело — я, например, предпочитаю Far Manager, и именно к его плагину Network посредством UserMenu у меня привязаны сетевые утилиты, скрипты и т.п. «причиндалы». Посему, теоретически мне, скажем, проект и интересен, но, вот, практически — получается, что не нужен .

Могу предложить, в качестве внешней утилиты, Remote screenshot grabber (console version), если чего-либо подобного уже не было ранее.

22

Re: HTA: LAN Administrator

mozers
коллега, я готов Вам помогать посильно. HTML-JS-CSS - те области, где я что-то понимаю и могу быть Вам полезен. Задавайте Ваши вопросы: в чем могу - помогу.

( 2 * b ) || ! ( 2 * b )

23

Re: HTA: LAN Administrator

alexii пишет:

Могу предложить, в качестве внешней утилиты, Remote screenshot grabber (console version), если чего-либо подобного уже не было ранее.

grabberconsole  - бесплатна, но исходники не дают. Пользуюсь CamCommandLine в последних версиях зовется camstudio_cl. Писать видео с удаленного хоста к примеру так:

psexec -i -c \\workstation1 CamCommandLine.exe -outfile c:\video.avi -seconds 5 -codec 1

24

Re: HTA: LAN Administrator

2alexii
На вкус и цвет, как говорится...
И действительно отчасти данный плаг может заменить функционал LAN Administrator, но - лишь отчасти
А за утилитку - спасибо! (На этом же сайте еще и другие прикольные вещи нашел).

2abasov
Видео - это круто!
И хотя до сегодняшнего дня мне ни снятие удаленных скриншотов ни тем более видео не понадобились (особенно при наличии 3х вариантов интерактивного доступа к десктопу через RDC, RAdmin и DameWare) но это не означает, что Ваши команды не пригодятся завтра

2Rumata
Думаю что если html-щик глянет код, то мест где его необходимо поправить найдет предостаточно. Особенно меня достают диалоговые окна, размеры которых необходимо задавать ДО их создания. А если размер заранее неизвестен? (ну, например, EditHostInfo) - тогда получается не слишком красиво
Еще мелкософт приготовил "подлянку" с размерами. Если на Win7 dialogWidth и dialogHeight - это размеры рабочей области окна, то на WinXP - это размеры всего окна (включая обрамление). В результате часть диалогов на WinXP оказались зарезанными (отлаживал то на 7-ке).
Наверное надо проверять не ОС, а версию mshta.exe. Но с какой версии эта хрень началась???
В общем, помощь - нужна. Советы приму с благодарностью.
Но, если - интересно, то лучше - соавторство Т.е. подключаетесь к SVN и правите код, так же как и я. (детали сообщу напрямую, мои координаты в заголовке LANAdmin.hta).

Вопрос касающийся не только HTML:
Для того чтобы избавится от "мертвых" копий mshta.exe, остающихся в памяти после закрытия окна приложения, на закрытие приложения навесил кнопку WshShell.Popup("Exit. Wait...", 1, document.title, 64);. Идея была в том, чтобы дать время приложению завершить все запросы.
Вроде как помогло ("мертвые" mshta.exe в памяти не остаются), но и кнопка почему то на части машин не нажимается автоматически через заданный интервал - приходится жать вручную. Почему ??? Непанимаю...

25

Re: HTA: LAN Administrator

mozers пишет:

На вкус и цвет, как говорится...

Само собой. Мне единственно чего не хватает — возможности сделать для плагина локальное меню пользователя .

mozers пишет:

На этом же сайте еще и другие прикольные вещи нашел

Расскажите, что Вас заинтересовало.

mozers пишет:

И хотя до сегодняшнего дня мне ни снятие удаленных скриншотов ни тем более видео не понадобились (особенно при наличии 3х вариантов интерактивного доступа к десктопу через RDC, RAdmin и DameWare)

RAdmin и DameWare не пользую, а как можно через Remote Desktop Connection получить доступ к рабочему столу пользователя, вошедшего в систему на удалённой машине?

26

Re: HTA: LAN Administrator

Подключение к удаленному рабочему столу == Remote Desktop Connection ? (ХП, 7, 2008)

а=да, в таком случае на удаленном пк должна быть соответствующая настройка....
б=нет, требуется уточнение автора топика... что же имется ввиду.

/использую р-админ и удаленный доступ в зависимости от категории ПК, по адсл линии - радмин, а рядом в здании (по локалке) - стандартную виндозовскую утилиту/

Любители построили Ковчег, а профессионалы - Титаник.

27 (изменено: abasov, 2011-11-16 13:34:21)

Re: HTA: LAN Administrator

stir пишет:

использую р-админ и удаленный доступ

Всегда хотел понять откуда такая любовь к р-админу, почему не удаленный помощник или на крайняк vnc (GPL)?

28

Re: HTA: LAN Administrator

stir пишет:

а=да, в таком случае на удаленном пк должна быть соответствующая настройка....

Какая?

29 (изменено: mozers, 2011-11-16 21:24:07)

Re: HTA: LAN Administrator

Ребята, давайте достоинства внешних прог будем обсуждать не в этом топике? (ограничимся лишь примером команды).
А пунктик в меню для подключения через Remote Assistance, наверное, стоит добавить (тут можно и скриптик сочинить для настройки такого подключения на удаленном ПК). Благо средство то - встроенное и порой незаслуженно забываемое.
И простите, что при перечислении прог для удаленного доступа, смешал в одну кучу десктоп который видит удаленный пользователь и дестоп который вижу я при подключении к удаленному компу через RDP.

30

Re: HTA: LAN Administrator

оффтопик.

alexii, на ПК необходимо поставить галочку, , для возможности управления и выбрать или наделить выбранных пользователей правами для удаленного управления (администратор уже имеет такие права, а вот свою учетку создавать мне приходится и выставлять право..., а админом пользуюсь в исключительных случаях и ее не свечу).. это итак всем известно, любому администратору. Подключение идет в "терминале"...

abasov, любовь привита наличием уже устоявшихся правилами и т.п., плюс особенности очень широкой и удаленной сети, плюс личные пристрастия, . Лично я ни за ни против р-админа.. если есть - пользуюсь, а если нету - ищем другое решение. Когда на предприятии в несколько десятков га площадью полее полутыщи пк невольно будешь искать быстрые и эффективные решения...

данный топик вышел за пределы темы, поэтому сворачиваюсь.. согласен с mozers.

Если есть возможность отправки личных сообщений - подскажите как это здесь делать в дальнейшем..

Любители построили Ковчег, а профессионалы - Титаник.

31

Re: HTA: LAN Administrator

stir пишет:

alexii, на ПК необходимо поставить галочку, smile, для возможности управления и выбрать или наделить выбранных пользователей правами для удаленного управления (администратор уже имеет такие права, а вот свою учетку создавать мне приходится и выставлять право..., а админом пользуюсь в исключительных случаях и ее не свечу).. это итак всем известно, любому администратору. Подключение идет в "терминале"...

stir, ещё раз, невзирая на то, кому что известно: какую именно галочку, где она находится, для чего именно нужна эта галочка и т.д. Как можно более подробно. Ибо, повторю ещё раз: мне неизвестен способ получения доступа к рабочему столу текущего пользователя, зарегистрированного на удалённой машине.

32 (изменено: stir, 2011-11-17 10:05:50)

Re: HTA: LAN Administrator

Все ПК обязаны быть изначально настроены для работы под конкретного пользователя в локальной сети перед передачей оных в руки пользователю. Настроить ПК под ХП так: правой клавишей мыши на "Мой компьютер" - свойства, далее ищем вкладку Удаленные сеансы и ставим галку Разрешить удаленный доступ к этому компьютеру, все почти. Далее вносим коррективы в группе Локальные пользователи (не пишу как это найти), а именно - Администратор уже имеет право удаленного доступа, поэтому я создаю новую свою учетку с правами админа (под которой и буду всегда заходить на ПК удаленно) и добавляю членство в группе Пользователи удаленного рабочего стола. ВСЕ. Перезагрузка ПК. Проверка с другой машины. Убираем конкретному пользователю права админа на всякий случай..передаем ПК пользователю.
Теперь при включенном ПК к сети 220В и локалке сисадмин имеет возможность зайти на ПК и управлять им пока не отрубят 220В! на ПК,  .
При удаленном подключении через локалку вам необходимо ввести имя пользователя и его пароль, указать некоторые моменты при подключении: разрешение экрана, запуск прог, скорость сети и т.д.

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

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

Все вышеописанное может не работать, если ПК завирусован...

Любители построили Ковчег, а профессионалы - Титаник.

33

Re: HTA: LAN Administrator

ПС.
На основе вышеизложенного я бы не рекомендовал автору программы писать скрипт для внесения изменений в реестр винды для создания на ПК конкретного пользователя изменений типа - создания учетки с правами админа и удаленного долступа по моральным и прочим соображениям. Иначе при нажатии, например, кнопочки или в автоматическом режиме прога станет орудием хакерства и может оказать услугу троянского коня... ну или как то так.

Любители построили Ковчег, а профессионалы - Титаник.

34

Re: HTA: LAN Administrator

stir, спасибо, ясно.

Вопрос дважды я задавал не про то: Вы писали так, как будто нашли способ подключения к рабочему столу текущего пользователя. Вот я и хотел узнать — как?!

Описанный Вами способ стандартный: при входе удалённый пользователь попадает не в консольный сеанс локального пользователя, а в новый, свой, сеанс. При этом локальный пользователь будет «выкинут» из своего сеанса.

P.S. То, что Вы описали, настраивается куда проще — один раз групповой политикой на уровне домена.

35 (изменено: stir, 2011-11-17 11:47:00)

Re: HTA: LAN Administrator

alexii, я не писал, что будто нашел новый способ, вам показалось. Вы настаивали (!) на подробном описании способа подключения с помощью виндозовской утилиты - пришлось начертать всем известный способ, я был удивлен в вашей решимости прочитать мой текст. Тем более, что в своем топике я лишь спрашивал и привел два возможных варианта, см. ^.
/В моей сети домена нет./

Любители построили Ковчег, а профессионалы - Титаник.

36

Re: HTA: LAN Administrator

offtopic
alexii
Подключиться к рабочему столу текущего пользователя с помощью RDP можно (при определённых условиях : компы друг-друга видят, т.е. внутри локальной сети; есть домен; выполнены соответствующие настройки) Вот здесь описано как это сделать, я подобное делать пробовал, у меня работало на Server 2003 + XP.

Ещё вот здесь можно почитать со слов "Предложение Удаленной помощи". Насколько я понимаю, этот способ должен работать без терминального сервера, но его я не пробовал.

37

Re: HTA: LAN Administrator

stir, спасибо, ясно.

Spy00000, спасибо, способ ru_sysadmins: Как mstsc'ситься к компу и админить юзера? работает. Мне не хватило сообразительности добавить потребную клиентскую машину в «Диспетчер служб терминалов» вручную.

Замечания:

1. Путь GPO: Конфигурация компьютера\Административные шаблоны\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Подключения\Устанавливает правила удаленного управления для пользовательских сеансов служб удаленных рабочих столов - включить полный контроль без разрешения клиента (можете выбрать то, что вам нужно)

У меня уже ранее была настроена политика (в указанном ли месте — не скажу, в данный момент я сие не проверял).

2. В ветке HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server параметр AllowRemoteRPC типа dword должен быть равен 1. Я это сделал так. В GPO в Конфигурация компьютера\Конфигурация Windows в сценарий автозагрузки я добавил файл .bat с таким содержанием:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v "AllowRemoteRPC" /t "REG_DWORD" /d "1" /f
И этот батник расположил в доступном всем компам месте - на шаре \\mydomain.local\ и далее (не особо имеет значение, тут всем пользователям ко всем шарам есть доступ)

Этого я не делал. У меня разрешение удалённого управления, также ранее, уже было настроено групповой политикой.

Дальше. Чтобы пользоваться таким методом - нужно зайти на какой-нибудь сервер, введя mstsc /admnin в командную строку

У меня сработало без необходимости стыковки к консольному сеансу сервера терминалов.

38

Re: HTA: LAN Administrator

Очень интересный наш диалог про подключение к удаленному рабочему столу перенес сюда.
Убедительно прошу продолжить там.

Кого еще интересует LAN Administrator спешу сообщить что прога сурьезно обновилась.
Придумал наконец как поправить несколько застарелых багов.
Появились новые фичи.
Обо всем этом, очень подробно - в history.

39

Re: HTA: LAN Administrator

Предлагаю добавить внизу пару кнопок - "Add Hosts" и "Delete all", а из контекстного меню "Add Hosts" убрать.

40

Re: HTA: LAN Administrator

2chichva
Когда то, в первых версиях, кнопка "Add Hosts" действительно торчала на панели, расположенной чуть повыше статусной строки. И так ей было там одиноко и тоскливо, что я решил перенести её в контекстное меню Ну просто понял что панель эту я никогда кнопками не забью, а держать там 2-3 кнопки (да еще крайне редко используемые) как то совсем некрасиво.
"Delete all" вообще по сути не нужна, поскольку все уже имеющиеся хосты автоматически удаляются при добавлении новых (достаточно установить соответствующую галку в диалоге). Кроме того, можно выделить все хосты (c Shift это получится очень быстро) и выбрать в контекстном меню "Delete Host".
Так одна команда контекстного меню может работать как для единственного хоста так и для всех выделенных.
Другие команды (например, "Remote Command") так же можно выполнить одновременно для нескольких хостов.

Кстати, сообщать о багах и делать предложения по улучшению функционала можно прямо на сайте.
Нет, здесь я тоже отвечать не отказываюсь, это - просто для информации
Для информации написал и микро-страничку в wiki "Что делать если LAN Administrator неверно определяет тип процессора?".

41

Re: HTA: LAN Administrator

mozers пишет:

2chichva
Когда то, в первых версиях, кнопка "Add Hosts" действительно торчала на панели, расположенной чуть повыше статусной строки. И так ей было там одиноко и тоскливо, что я решил перенести её в контекстное меню Ну просто понял что панель эту я никогда кнопками не забью, а держать там 2-3 кнопки (да еще крайне редко используемые) как то совсем некрасиво.

Только если удалить все хосты никакого контекстного меню не появляется.

"Delete all" вообще по сути не нужна, поскольку все уже имеющиеся хосты автоматически удаляются при добавлении новых (достаточно установить соответствующую галку в диалоге).

Этого, я сразу не заметил.

Кроме того, можно выделить все хосты (c Shift это получится очень быстро) и выбрать в контекстном меню "Delete Host".
Так одна команда контекстного меню может работать как для единственного хоста так и для всех выделенных.

Чего то у меня для выделенных  не выполняется.

42

Re: HTA: LAN Administrator

chichva пишет:

Только если удалить все хосты никакого контекстного меню не появляется.

Ага. Как то я об этом моменте не подумал

chichva пишет:

Чего то у меня для выделенных  не выполняется

Возможность появилась в версии 0.9.5

43

Re: HTA: LAN Administrator

У меня тоже всегда руки чесались написать нечто подобное. Вчера сделал первые наброски, а сегодня читаю эту тему ) Забавно)
Получилась полезная вещь! Позволю себе пару замечаний, которые помогут сделать утилиту полезнее для крупных организаций:
1. Компы можно добавить только по IP. Мы чаще оперируем именем хоста, в DHCP среде (особенно с дифицитом адресного пространства), IP часто меняются.
2. Основная функция утилиты, как я её понимаю, это экономия времени администратора при работе с удалёнными компами, поэтому необходимо стремиться к минимизации ввода. На этом пути надо разрешить людям писать свои VBS/JS вставки
3. Вообще я бы ушёл от интерфейса, когда мы видим много компов и можем вызывать вспомогательное меню, в сторону, когда мы видим много информации по одному компу и имеем кучу возможностей что-либо с ним полезное сделать. Ведь админим мы не все компы сразу, а как правило, одновременно один. Я понимаю, что у вас идея мониторинга... Вам решать, я просто своё мнение высказываю)
4. Наверное надо реализовать внутренние функции по работе с процессами, сервисами, дисками, принтерами, приложениями. Например хочется убить конкретный процесс и сейчас это сделать нельзя...
5. Переменные в INI файле можно было бы сделать вычисляемыми в процессе вызова

44

Re: HTA: LAN Administrator

dsb пишет:

Ведь админим мы не все компы сразу, а как правило, одновременно один.

Зачастую, нужно как раз работать со всеми/несколькими машинами: например, выявить машины с наибольшим процентом свободного объёма на дисках, определить, за какой машиной сейчас сидит определённый человек, разослать группе машин сообщение и т.п.

dsb пишет:

Наверное надо реализовать внутренние функции по работе с процессами, сервисами, дисками, принтерами, приложениями. Например хочется убить конкретный процесс и сейчас это сделать нельзя...

Почему нельзя? Можно, код открыт. Коллега mozers приглашал всех желающих.

Я вот что думаю: может быть, стоит сделать такой функционал (если ещё не реализовано):
* выполнить произвольно/интерактивно указанную команду для группы выделенных машин;
* позволить сохранять подобную собственную произвольную команду непосредственно из интерфейса для повторного использования.

dsb пишет:

Переменные в INI файле можно было бы сделать вычисляемыми в процессе вызова

Поясните.

45

Re: HTA: LAN Administrator

alexii пишет:

Зачастую, нужно как раз работать со всеми/несколькими машинами: например, выявить машины с наибольшим процентом свободного объёма на дисках, определить, за какой машиной сейчас сидит определённый человек, разослать группе машин сообщение и т.п.

В небольших офисах - соглашусь, но, когда компов в сети под 2-3 сотни, то тут уже нужны другие методы.

alexii пишет:
dsb пишет:

Переменные в INI файле можно было бы сделать вычисляемыми в процессе вызова

Поясните.

Встретив в имени переменной, например, идентификатор <external.somename> обработчик ищет в файле add-on.vbs функцию somename и выполняет её через оператор Execute, автоматически передавая в функцию в виде параметров всё что есть по данному компу. Возращаемое функцией значение присваивается переменной и передаётся внешней команде. Как-то так...

46

Re: HTA: LAN Administrator

dsb, да хоть две-три сотни тысяч, какая разница?

47

Re: HTA: LAN Administrator

alexii пишет:

dsb, да хоть две-три сотни тысяч, какая разница?

Разница в том, что в данной утилите мы видим простой интерфейс в виде таблицы. Пока мы имеем возможность видеть все наши ПК(сервера) на одном экране - никаких проблем. Когда их больше, начинают требоваться такие инструменты как: фильтрация, группировка по различным полям, само количество полей должно быть гораздо богаче. И чем компьютеров больше, тем выше потребность в том, что я описал выше. Я у себя решаю эту проблему через сводную таблицу в Excel, которая атоматически обноляется каждый день через стартап скрипты. Крупные компании покупают System Management пакеты типа MS SCM, LANDesk, OpenView и т.д. Разве это не очевидно?

48

Re: HTA: LAN Administrator

dsb, было непонятно, что именно Вы имеете в виду.

49 (изменено: mozers, 2012-01-03 14:42:29)

Re: HTA: LAN Administrator

2dsb
Спасибо за толковые замечания! Попробую ответить на все:
1. Да, все "крутится" вокруг статических ip. Добавление новых хостов по имени? Подумаю как это красиво оформить...
2. И сейчас можно свободно запускать любые внешние команды, передавая им параметры из LAN Administrator. В качестве внешней команды может быть как встроенная команда ОС, так и любое приложение или скрипт. Так что - пишите скрипт на любом языке, а подключить его можно добавив несколько строчек в ini-файл.
3. Вы в состоянии сами задать в каком виде будет представлен список хостов и какое будет контекстное меню. У меня, например, одновременно работают несколько экземпляров, каждый из которых представляет различные хосты (компы из разных подсетей, вебкамеры, другое сетевое оборудование). У каждого экземпляра - свои отображаемые колонки и свое контекстное меню.
Мне кажется что в случае больших сетей, когда хостов оказывается слишком много, имеет смысл разбивать их на несколько ini-файлов по каким то логическим признакам (подразделениям).
4. Убить конкретный процесс? - Нет ничего проще! К примеру, для того, чтобы убивать процесс mshta.exe на любой машине, добавляем в контекстное меню новую команду:

cm_item28=Kill mshta.exe
cm_icon28=off.ico
cm_cmd28=cmd /k title <host.name> & taskkill /s <host.name> /im mshta.exe
cm_offline_disabled28=1

Это - только пример. Практического смысла от этой команды не вижу никакой.
5. Переменные в ini - вычисляются перед вызовом команды. Помимо встроенных (а их - не мало), можно придумывать свои переменные. Так, например, задав (через диалог "Edit Host Info") свойство/параметр my_port и присвоив ему какое то значение, можно использовать его при вызове своей команды контекстного меню

cm_cmd32=superutil.exe /host=<host.name> /port=<host.my_port>

Т.е. при вызове внешней команды или скрипта могут использоваться любые вычисляемые (на этапе построения списка хостов) параметры. Что же касается использования в качестве параметров имен пользовательских ф-ций, то я, никак не могу сообразить где такое может понадобиться практически. Если будет предложен реальный пример, и я не смогу предложить в качестве более простой альтернативы решения с параметрами, то тогда можно будет подумать и над Вашим предложением...

50

Re: HTA: LAN Administrator

2 Mozers
День добрый! Вы знаете, у меня действительно есть черта характера - усложнять вещи, возможно иногда сверх меры. Я просто пытаюсь предложить дополнительные степени свободы вашему инструменту. Быть может это и не несёт сиюминутной практической ценности и легко обходится добавлением нового экземпляра программы с альтернативными настройками или просто дополнительным пунктом в контекстном меню, но лично мне, как программисту, это не нравится. Это довольно трудно объяснить
Мне тут подумалось, что, если рассматривать вашу утилиту просто как оболочку для запуска внешних cкриптов, которые уже сами разбираются вызывать ли им другие утилиты и с какими параметрами, то да - наворачивать LA сверх меры нет смысла, но тогда прав alexii - непонятно чем это лучше вспомогательных меню в файловых менеджерах, типа FAR и т.п. И тогда закономерно этим инструментом воспользуется меньше людей, чем могло бы, ибо немногие захотят/найдут время писать скрипты под свои задачи, а дополнительным сервисом программы, как мне кажется, воспользуются куда охотнее (творцов мало, людей, которые способны изучать уже созданное куда больше). Пожалуйста, не воспринимайте мои слова в смысле критики LA.

Я бы всё-таки добавил а) больше стандартных, динамически вычисляемых переменных (например, количество свободного места на C:, текущий принтер по умолчанию, тип ОС, ) и б) некий тригер (IIF), который позволит запускать либо cmd1 либо cmd2 в зависимости от некоего условия.

51

Re: HTA: LAN Administrator

2dsb
В общем то, LA так и реализован - как оболочка (с некоторым информационным материалом) для запуска внешних скриптов/утилит с параметрами.
Ни один известный мне файловый менеджер не позволяет реализовать все это с таким же удобством и с таким количеством дополнительных возможностей.
Хотя авторам плагинов к FAR или к Total Commander никто не мешает реализовать все это.

а) больше стандартных, динамически вычисляемых переменных (например, количество свободного места на C:, текущий принтер по умолчанию, тип ОС,

Сделать - можно. Но переменных и так - до черта - но кто их реально использует? Будет конкретное пожелание - сделаю. Делать "впрок", извините, влом. Да, кстати, переменная <host.OSVersion> уже имеется.

б) некий тригер (IIF), который позволит запускать либо cmd1 либо cmd2 в зависимости от некоего условия.

Согласен. Мне такая мысль тоже приходила в голову, но выкрутился без IIF. И, вновь, отсутствие практической задачи, отодвинуло решение этого вопроса.

52

Re: HTA: LAN Administrator

А последнюю версию как скачать?

53

Re: HTA: LAN Administrator

2chichva
Последняя версия всегда лежит тут. Иногда, когда не лень, я все это добро упаковываю в zip и выкладываю в разделе Downloads.

54

Re: HTA: LAN Administrator

Программа перенесена в новый репозитарий (система контроля версий - Mercurial).
Страничка программы
История версий (с детализацией всех изменений)
Исходный код (самый последний вариант)
Дистрибутив (упаковывается и выкладывается периодически)

55

Re: HTA: LAN Administrator

Наконец то дополнил документацию подробным описанием параметров ini-файла.
Очень надеюсь что чтение окажется полезным.
Главная мысль, которую очень хотелось довести: "LAN Administrator - лишь гибкий каркас для Вашей фантазии".

56

Re: HTA: LAN Administrator

mozers, а в Коллекцию не хотите добавить описание с теми же ссылками?

57 (изменено: mozers, 2012-10-14 21:42:30)

Re: HTA: LAN Administrator

LAN Administrator v.0.30.1
Спешу сообщить что программа сильно модифицирована.
Теперь, в большинстве случаев, нет необходимости прибегать к прямой правке ini-файла. Самая основная вещь, что показывать в колонках, настраивается через контекстное меню, открывающееся по клику ПКМ по заголовку.
Теперь работать с динамическими адресами так же удобно, как и со статическими.
Добавление новых хостов в список можно осуществлять как вручную так и полностью автоматически.
Хочу извинится перед пользователями, что столь требуемых модификаций вам пришлось ждать столь долго.

Появилось еще много чего нового. Пусть это будет приятным сюрпризом
Детальное описание всех модификаций, как всегда - в history.
Часть возможностей описал в readme.

2alexii
Хорошо. Добавлю.

58 (изменено: mozers, 2013-01-13 22:39:54)

Re: HTA: LAN Administrator

Даже не знаю... Может новую тему начать? Ладно, все дело в том, что в состав LAN Administrator добавлено новое, весьма прикольное, HTA приложение. Запускается из контекстного меню (которое, кстати, тоже оформил как объект со свойствами, методами и эвентами - можно теперь влегкую воткнуть в любое ваше приложение) но может работать и совершенно самостоятельно.
Называется - pslist. Служит для просмотра и манипулирования списком процессов и сервисов на локальной и удаленной машинах.
Идея, конечно, не нова, но функциональный Process Explorer не работает с удаленными хостами, а многогранный pserv3 не понимает командную строку (так я и не смог его исправить с моими скудными знаниями C#)
А тут - красивое и легкое приложение с простым и, я надеюсь понятным, кодом
В общем - буду рад если воспользуетесь!
Последнюю сборку Lan Administrator (включающую pslist) выложил в разделе "Download"

59

Re: HTA: LAN Administrator

Даже не знаю... Может новую тему начать?

Смотрите сами, Вам и карты в руки. Можно и отдельную. И сделать перекрёстные ссылки.

60

Re: HTA: LAN Administrator

mozers, взял Вашу pslist.hta на тестирование, т.к. понравилось наличие значения владельца процесса.

Правда, с очень удаленной машиной (в другом отделении моей конторы) приложение задумывается долговато. И раз даже выпало с ошибкой: Line: 212; Char: 4; Error: Not found; Code: 0 и не дорисовало строку данных по процессу "SearchFilterHost.exe", начиная с "Owner".

Из моих пожеланий: если реализуемо, то дать возможность сортировки процессов по значениям "Command Line", "Owner".
Запрос значения "Copyright" как по мне - излишне.

WBR. Roman

61

Re: HTA: LAN Administrator

2alexii
Ладно, посмотрю по активности обсуждения...

2Rom5

приложение задумывается долговато. И раз даже выпало с ошибкой

Думаю что такое решить как то можно переводом запросов в фон. Может быть потом как нибудь...

и не дорисовало строку данных по процессу

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

дать возможность сортировки процессов

Реализую в ближайшее свободное время.

62

Re: HTA: LAN Administrator

При хреновом качестве связи все возможно. Если все перевести в фон, то вместо части строки не нарисует строку целиком. В общем не уверен я что при некачественной связи можно реально что то поправить...

Я для использования с машинами из другой сети (это ~90% времени моей работы) сделал себе дополнительную "облегченную" версию Вашей HTA.

Смысл изменений: убрал главное по времязатратам - файловую операцию, т.е. остался без дескрипшена и копирайта exe-шек (может запрос дескрипшена[ов] имеет смысл вообще выполнять как-то через меню или опционально по принятым параметрам?). Еще вместо запроса всех аттрибутов процесса ограничился перечнем только отображаемых. В колонку дескрипшена вывожу, правда - в упрощенном виде, время создания процесса:


// Заполнение списка процессов
function FillProcessesList(){
    // var colItems = oWMIService.ExecQuery ('SELECT * FROM Win32_Process');
        var colItems = oWMIService.ExecQuery (
        'SELECT Name,ProcessId,CommandLine,ExecutablePath,CreationDate FROM Win32_Process'); //Rom5
[....]
        if (exe_path) {
            // Rom5
            // var ver_info = GetFileVersionInfo(exe_path.toLowerCase());
            ver_info = null;
            var s = oItem.CreationDate;
            w=s.substring(0,4) + "." + s.substring(4,4+2) + "." + s.substring(6,6+2) + " _" + 
                s.substring(8,8+2) + ":" + s.substring(10,10+2) + ":" + s.substring(12,12+2) +
                "  _" + s.substring(15);
            description = w;
            // --- Rom5
[....]


WBR. Roman

63

Re: HTA: LAN Administrator

2Rom5

может запрос дескрипшена[ов] имеет смысл вообще выполнять как-то через меню или опционально по принятым параметрам?

Толковая мысль! Подумаю как это удобнее реализовать.
По копирайтам, я, правда отсеиваю мелкософтовские процессы (чтоб не бросались в глаза)...
Практического смысла во времени создания что то не вижу. Разве что выделить только что запущенные процессы?

64

Re: HTA: LAN Administrator

mozers пишет:

Практического смысла во времени создания что то не вижу. Разве что выделить только что запущенные процессы?

Временем создания в чистом виде пользоваться не ахти как удобно, интереснее его было бы представить его в качестве разницы от текущего времени, в виде "Uptime".
А как для меня, то практический смысл, действительно в том, чтобы выделить сравнительно "свежие" процессы.

WBR. Roman

65

Re: HTA: LAN Administrator

mozers, прижало увидеть "дорвавшееся до памяти" ПО - и в Ваш pslist.hta добавил используемую процессом память (т.к. это просто еще один из запрашиваемых у WMI аттрибутов - отрабатывает быстро и на оч.далеких машинах).

Вывел его сейчас вместо "copyright". Для визуализации число привожу в Кб с разделителями:


[..]
        if (exe_path) {
            // Rom5
            // var ver_info = GetFileVersionInfo(exe_path.toLowerCase());
            var ver_info = null;
            var s = oItem.CreationDate;
            var w=s.substring(0,4) + "." + s.substring(4,4+2) + "." + s.substring(6,6+2) + " _" + 
                s.substring(8,8+2) + ":" + s.substring(10,10+2) + ":" + s.substring(12,12+2) +
                "  _" + s.substring(15);
            description = w;
            copyright = formatNumber( oItem.WorkingSetSize / 1024 );
            // --- Rom5
[..]
//Rom5
// from "Javascript: поразрядное форматирование чисел" - http://itmodus.ru/articles/57
function formatNumber(nStr){ 
   nStr += '';
   x = nStr.split('.');
   x1 = x[0];
   x2 = x.length > 1 ? '.' + x[1] : '';
   var rgx = /(\d+)(\d{3})/;
   while (rgx.test(x1)) {
      x1 = x1.replace(rgx, '$1' + '.' + '$2');
   }
   return x1 + x2;
}

Может добавите в свою следующую версию?

WBR. Roman

66

Re: HTA: LAN Administrator

Все пожелания выполнены
Добавил сортировку, колонки с размером занимаемой памяти и возрастом процесса.
Список параметров командной строки дополнил ключом -noFileInfo. Т.е. сейчас в ком. строке помимо имени удаленного хоста можно указывать ключи:
/process - показать список процессов
/servises - показать список сервисов
/noFileInfo - отключение показа информации о файле, породившем процесс (колонки Description и Copyright)
Первый ключ можно и не указывать. Вместо полного имени ключа можно написать лишь первую букву

Чесноговоря колонка Age меня несколько смущает (имхо - избыточная инфа, и так все свежие процессы - внизу).
А вот дерево процессов хочется сделать...
Насчет списка сервисов идей пока нет.
Возможно добавлю еще список драйверов...

67

Re: HTA: LAN Administrator

Теперь pslist.hta отображает процессы в виде наглядного дерева.
Долго мучился с алгоритмом сортировки. Был бы очень благодарен если бы спецы проверили корректность функции SortByTree.

68

Re: HTA: LAN Administrator

Все таки надумал написать маленькое, но симпатичное, описание к pslist.hta.
Ну и, соответственно, сделал пост в коллекции. Думаю данный пример пригодится людям (стараюсь писать код максимально понятно). Если что не так - пожалуйста поправьте.

69 (изменено: Rumata, 2013-03-26 22:29:57)

Re: HTA: LAN Administrator

Не понравилась идея контекстного меню, тем более всего из 4 пунктов. Может кнопки лучше - всего-то 4 действия?

Вопрос технического характера


SELECT * FROM Win32_Process
SELECT * FROM Win32_Service

Приложение не подвисает, пока не завершится получение и отображение списков?

( 2 * b ) || ! ( 2 * b )

70

Re: HTA: LAN Administrator

Rumata пишет:

Не понравилась идея контекстного меню, тем более всего из 4 пунктов. Может кнопки лучше - всего-то 4 действия?

Но ведь при вызове действий из меню -- сразу понятно к какому процессу они относятся.

А при кнопках, это ж, наверное, надо сначала процесс каким-то образом отметить и только потом уже давить на кнопки действий. Да и кнопки эти должны быть по идее на нескроллируемой части окна.


Или есть какие-то другие интересные вариаты для кнопок применяемых к некой строке таблицы?
Ну, кроме размещения самих кнопок на каждой строке:)

WBR. Roman

71

Re: HTA: LAN Administrator

Rom5

Но ведь при вызове действий из меню -- сразу понятно к какому процессу они относятся.

Но не ясно, что можно сделать пока не вызовешь контекстное меню.

Кнопки - на нескроллингуемой панели, так они видны и очевидно, что можно сделать - выделить строку, нажать кнопку. Возможное улучшение: выделил строку - стали доступны кнопки, снял подсветку со строки - кнопки недоступны.

( 2 * b ) || ! ( 2 * b )

72

Re: HTA: LAN Administrator

2Rumata
"Подвисания" не наблюдал даже на слабеньких машинах.
Кнопок не будет. А меню будет расширятся и дальше (я еще и твои пожелания не до конца выполнил...)

73 (изменено: Rom5, 2013-04-19 10:25:47)

Re: HTA: LAN Administrator

mozers, есть еще одна хотелка по Вашему pslist.hta - реализовать по какой-то кнопке или на постоянной основе расчет суммы значений в колонке "Size" - объем используемой процессами памяти.

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

WBR. Roman

74

Re: HTA: LAN Administrator

2Rom5
Сумму посчитать несложно, только вот полученная цифра будет иметь значение весьма отличающееся от реального. Чтобы получить реальное значение придется сочинять отдельную функцию. Хорошо, подумаю...

75

Re: HTA: LAN Administrator

LAN Administrator 0.55.0

Добавлено диалоговое окно "Edit Context Menu".
Теперь, учитывая наличие диалоговых окон "Edit Host Info" и "Edit Column
Contents", можно сказать что все настройки программы можно изменять не прибегая к ручной
правке ini-файла
.

76

Re: HTA: LAN Administrator

mozers пишет:

LAN Administrator 0.55.0
Добавлено диалоговое окно "Edit Context Menu".

По идее очень полезная вещь!
Но у меня вызов этого режима приводит к появлению махонького ~5x10mm пустого окошка, которое можно развечто переместить и закрыть...

WBR. Roman

77

Re: HTA: LAN Administrator

2Rom5
Огромное СПАСИБО за баг-репорт! Ошибку (а она оказалась непозволительно глупой) исправил.

78

Re: HTA: LAN Administrator

Новая фича:
В список и раньше можно было добавить колонку отображающую параметр <host.online>.
Но теперь значение этого параметра будет отображаться не как текст (как у других), а как кружок, плавно изменяющий свой цвет от зеленого до красного в зависимости от времени ответа хоста, что позволяет динамически контролировать задержку пакетов.
Параметр response_time_max в секции [main] ini-файла задает максимально допустимое время ответа хоста, выше которого значок <host.online> будет красным.
Для быстрой локальной сети, расположенной в одном помещении данная возможность неактуальна, а вот если в вашем списке удаленные хосты связь с которыми оставляет желать лучшего, то проблема с доступом может быть выявлена практически мгновенно.
Обновленную документацию дополнил многовариантный скриншот. Надеюсь что теперь никто не будет запихивать все разноплановое сетевое оборудование в единственную таблицу

79

Re: HTA: LAN Administrator

http://www.advanced-ip-scanner.com/ru/

Времени не хватает... :-(

80

Re: HTA: LAN Administrator

2Евген
Подобных программ в инете можно найти достаточно много.
Чего нет в этих программах, но есть в LAN Administrator?:

  • LANAdmin позволяет хранить и отображать любую самую произвольную информацию о хосте, а не только ту что предусмотрел разработчик.

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

Короче говоря, основное достоинство LANAdmin - возможность гибкой настройки под нужды любого пользователя.

А вообще то приятно, когда легкое скриптовое решение на равных конкурирует с многомегабайтными компилированными прогами

81

Re: HTA: LAN Administrator

Всетаки надумал заменить безликое название pslist (да еще пересекающееся с названием известной утилиты Русиновича) на Remote Task Control.
Тем более, что теперь приложение расширило свой функционал (можно управлять процессами, сервисами и дивайсами).
Думаю что развитие на этом не окончено (наверное просмотр EventLog тоже надо добавить).

В LAN Administrator тоже много изменений. Перечислять не буду - все подробно расписано.

82

Re: HTA: LAN Administrator

Хост http://htapp.googlecode.com задушили враги. Переговоры с ними ни к чему не привели.
Восстановил код на новом месте http://html-applications.googlecode.com.
И LAN Administrator и Remote Task Control сурьезно доработаны.

83

Re: HTA: LAN Administrator

Хост http://htapp.googlecode.com задушили враги. Переговоры с ними ни к чему не привели.

Вот паразиты. А как случилось-то?

Восстановил код на новом месте http://html-applications.googlecode.com.

Добавил в новости скриптов. Сойдёт, або что есть поправить?

84 (изменено: mozers, 2015-01-27 18:01:42)

Re: HTA: LAN Administrator

Периодически ищу свои битые ссылки и правлю. Если не смогу сам - сообщу.
Про "паразитов" написал тут.

85 (изменено: mozers, 2015-04-27 12:30:34)

Re: HTA: LAN Administrator

Google Code shutting down - все к этому и шло...
Перетащил проект на http://html-applications.bitbucket.org/
LAN Administrator
Remote Task Control
В Remote Task Control новый дизайн, отображает иконки процессов и сервисов! Вроде как до меня в hta такого никто не делал (во всяком случае я не видел) поэтому был бы рад услышать конструктивную критику.

86 (изменено: stir, 2019-10-08 12:13:35)

Re: HTA: LAN Administrator

mozers пишет:

Перетащил проект на http://html-applications.bitbucket.org/
LAN Administrator
Remote Task Control

По ссылкам нет проектов. Ссылки видимо давно уже не работают и их нужно бы удалить?

Любители построили Ковчег, а профессионалы - Титаник.

87

Re: HTA: LAN Administrator

Замените .org на .io в адресе страницы.

https://html-applications.bitbucket.io/

А вот репозиторий живет здесь
https://bitbucket.org/html-applications/lan-admin

( 2 * b ) || ! ( 2 * b )