Данное HTA-приложение осуществляет мониторинг, сбор информации и запуск сетевых приложений на избранных хостах локальной сети.
Перечень и содержимое колонок настраивается через контекстное меню в заголовке таблице.
Информация по конкретному хосту извлекается по команде контекстного меню "Get Host Info" и может быть отредактирована и дополнена любыми произвольными параметрами с помощью команды контекстного меню "Edit Host Info".
Cостав и команды самого контекстного меню так же могут быть отредактированы и дополнены как встроенными так и произвольными внешними командами применимыми к хосту. Такое редактирование осуществляется через диалоговое окно "Edit Context Menu".
Все настройки программы сохраняются в файлах main.ini и menu.ini. Информация о хостах - в файле hosts.ini. Эти файлы располагаются в именных подкаталогах profiles\<name>. Можно иметь несколько профилей с различным содержимым (допустим "компьютеры", "принтеры", "веб-камеры", и т.п.) и указывая в командной строке в качестве параметра имя профиля, использовать одновременно несколько копий программы.
Настроенные профили в дистрибутиве служат лишь для примера. Благодаря гибким настройкам, вид и функциональные возможности программы в первую очередь зависят не от её автора, а от фантазии конечного пользователя.
LAN Administrator является всего лишь наглядной настраиваемой оболочкой для списка ваших хостов и применимых к ним команд.
Содержимое списка, количество колонок с информацией, все команды контекстного меню - все эти параметры хранятся в ini-файле.
[main] | Общие настройки программы. |
---|---|
column_headers |
Заголовки колонок. Любой текст, разделенный запятыми. Например: column_headers=IP-адрес,Тип и частота процессора
|
column_contents |
Содержимое выводимых полей, разделенные запятыми. В качестве выводимого содержимого может быть указан один или несколько параметров хоста (с префиксом host. и в угловых скобках) а так же произвольный текст. Например: column_contents=<host.ip>,<host.proc_name> (<host.proc_clock> MHz) Естественно, кол-во запятых (а, значит и количество аргументов) в параметрах column_headers и column_contents должно совпадать. |
host_types |
Доступные типы хостов через запятую. Значение по-умолчанию: "computer,server,notebook,thinclient,printer,router,netcard,webcamera,ATS" Если у Вас есть желание добавить в строку новый тип, то необходимо позаботиться о наличии в подкаталоге \images изображения 16x16 в формате .ico с соответствующим именем. |
column_width |
Ширина колонок (в пикселях) через запятую. (Используется только при первом старте программы) В дальнейшем пользователь изменяет ширину колонок через интерфейс программы, перетаскивая разделитель мышкой. (Клик правой кнопкой на разделителе сбрасывает ширину колонки в авто). Новые значения сохраняются в cookie. |
width height |
Ширина и высота окна программы (в пикселях). (Используется только при первом старте программы) Значения перезаписываются автоматически при изменении размеров окна и сохраняются в cookie. |
ping_interval | Интервал опроса хостов на их доступность (в секундах). |
response_time_max | Максимальное время ответа хоста на пинг (в милисекундах). Если время ответа хоста превышает заданное этим параметром значение, то индикатор активности (параметр <host.online>) окрашивается в красный цвет. |
admin_name admin_pass |
Имя и пароль администратора. Если в одном из диалоговых окон Вы разрешили сохранение регистрационных данных, то они сохранятся именно сюда и в следующий раз будут подставлены автоматически. |
true_udefined | Если этот параметр задан со значением отличным от 0 (например, 1), то при вызове из контекстного меню внешней команды, строка ее запуска не будет проверятся на существование заданных в ней параметров. Это позвояет опустить часть параметров при запуске внешней команды. |
priority_ip | Если этот параметр задан со значением отличным от 0 (например, 1), то, при периодическом опросе хостов и при запуске встроенных команд контекстного меню, будет использоваться ip адрес хоста, а не его имя. Данная установка предпочтительна в сетях со статической ip адресацией. |
В данную секцию можно добавить и любой другой параметр с произвольным именем. Затем, значение этого параметра можно будет использовать при задании других параметров. Например, если мы задали all_users=c$\Documents and Settings\All Users\ то возможна такая запись cm_cmd8=explorer.exe \\<host.name>\<all_users>
|
[context_menu] | Настройки контекстного меню |
---|---|
cm_default | Номер пункта контекстного меню, команда из которого будет выполнена при двойном клике мыши на строке с хостом. |
cm_itemN |
Имя пункта контекстного меню, где N - (здесь и далее) - уникальный номер пункта меню. Если cm_itemN=separator или cm_itemN=- , то в указанную позицию меню вставляется разделитель.
|
cm_iconN | Полный или относительный путь к соответствующей иконке размером 16x16. Если иконка находится в подкаталоге \images, то указание пути не требуется. Вместо иконки можно использовать произвольный символ из любого шрифта, задав через точку с запятой букву, строку стиля и цвет. Например "O;normal 14px Wingdings;blue" |
cm_cmdN |
Команда, выполняемая при выборе данного пункта. В качестве параметров команды используются значения выбранного хоста. Если в списке отмечено несколько хостов, то команда выполняется над каждым хостом последовательно. Если имя команды предваряется символом @, то подразумевается внутренняя команда LAN Administrator. В настоящее время допустимы следующие внутренние команды: AddHosts, RemoveSelHost, GetSelHostInfo, EditHostInfo, ExportToExcel, ImportFromExcel, ExecRemote, HTTPConnect, EditContextMenu. Действие их понятно из названия. Помимо внутренних допустимы любые внешние команды. Командная строка для такой команды задается обычным порядком. В командной строке можно использовать любые параметры, имеющиеся в ini-файле. Параметры вставляются в командную строку в угловых скобках. Значения параметров с префиксом host. берутся из соответствующих значений текущего хоста (или, последовательно, из значений отмеченных хостов). Например: cm_cmd22="<util_dir>\RAdmin\radmin.exe" /connect:<host.ip>:<host.radmin_port> Добавленный в конец коммандной строки параметр с префиксом host. в фигурных скобках говорит о том, что данная команда будет выполнена в скрытой консоли cmd.exe, а текст ее вывода заменит значение указанного параметра. Например: cm_cmd14=FOR /F "skip=3 tokens=2" %m IN ('arp -a <host.ip>') DO @echo %m {host.mac}
|
cm_offline_disabledN |
Признак того, будет ли данный пункт меню активным если хост, на котором вызвали контекстное меню, в данный момент не доступен. Если данный параметр равен 1, то пункт меню будет активен только если активен хост. Если данный параметр равен -1, то пункт меню будет активен только если хост не активен. Если данный параметр отсутствует или равен 0, то пункт меню будет активен всегда, независимо от активности хоста. |
Множество примеров других дополнительных команд для контекстного меню Вы можете найти на странице Wiki.
|
[hostN] | Настройки для хоста N |
---|---|
type | Тип хоста (одно из значений, взятое из строки host_types) |
port_check | Номер порта для проверки доступности хоста. Если не указан, то используется ICMP ping |
online | Признак того, пингуется хост или нет. Если хост не пингуется, то значение этого параметра равно -1. Если пинги проходят, то значением параметра является время ответа хоста в милисекундах. Это значение обновляется при каждом очередном запросе доступности хоста. |
name | Короткое имя хоста (без имени домена) |
hostname | Полное доменное имя хоста |
ip | IP-адрес хоста |
domain | Имя домена или рабочей группы в которой зарегистрирован хост |
username | Имя вошедшего в систему пользователя в формате DOMAIN\username |
user | Имя вошедшего в систему пользователя без имени домена |
OSVersion | Название и версия операционной системы |
mac | MAC-адрес сетевой карты |
ip_all | Все IP-адреса сетевой карты |
DefaultIPGateway | IP-адрес основного шлюза |
DNSServerSearchOrder | Адреса DNS-серверов в порядке использования |
proc_name | Имя процессора |
proc_clock | Частота процессора |
memory_size | Размер оперативной памяти (в Mb). Несколько установленных модулей отображаются через + |
memory_info | Тип и скорость модулей памяти |
disks_size | Размеры установленных накопителей (в Gb) |
video | Модели установленных видеокарт с размером оперативной памяти на них (в Mb) |
user_cn | ФИО текущего пользователя (извлекается из AD) |
user_info | Информация о текущем пользователе (извлекается из AD) |
user_title | Заголовок текущего пользователя (извлекается из AD) |
user_mail | E-mail текущего пользователя (извлекается из AD) |
user_telephoneNumber | Номер телефона текущего пользователя (извлекается из AD) |
user_otherTelephone | Номер дополнительного телефона текущего пользователя (извлекается из AD) |
PCSerialNumber | Серийный номер системного блока (если производитель разместил его в BIOS) |
MonitorName | Марка подключенного монитора (если производитель разместил его в EDID) |
MonitorSerialNumber | Серийный номер подключенного монитора (если производитель разместил его в EDID) |
SID | SID текущего пользователя системы |
Printers | Список принтеров текущего пользователя системы (включая сетевые). Первый в списке - принтер по-умолчанию. |
MappedDrives | Список подключенных сетевых дисков текущего пользователя системы (включая UNC-путь). |
protect | Список (через запятую) имен параметров данного хоста, значения которых Вы желаете защитить от автоматического изменения по команде "Get Host Info". В диалоговом окне "Edit Host Info" имена параметров, обновляемых по команде "Get Host Info" выделены синим цветом. Щелчок мыши вызовет добавление/удаление выбранного имени из списка параметра protect. |
Параметры type, port_check, name или ip задаются вручную при добавлении нового хоста. Остальные параметры (для хостов, имеющих тип "computer", "server", "notebook") определяются автоматически при выполнении команды контекстного меню "Get Host Info". Значения параметров, извлекаемых из Active Directory зависят от трудолюбия и предпочтений администраторов Вашего домена. Вручную можно добавить и любые другие параметры (как прямым редактированием ini-файла, так и через диалог "Edit Host Info"). Их количество, имя и значение - произвольно. Будут ли значения заданных параметров отображаться в таблице или будут использованы в командах контекстного меню - зависит только от вашего желания. Например, если мы зададим для хоста параметр с именем inv_number, то его значение можно выводить в соответствующую колонку column_headers=Инв.№,... или использовать в качестве параметра команды меню: cm_item28=Инвентарная карточка
|
Огромное СПАСИБО Xameleon за первый вариант этого приложения. И хотя в далеком 2009м никто и не предполагал что из этого может получиться, именно этот скрипт побудил меня на написание LAN Administrator.
Так же хочу высказать благодарность всем авторам и компаниям чей бесплатный софт и скриптовые решения были использованы в моей программе, а именно:
jQuery,
TableDnD plug-in for JQuery,
PsExec,
Wake On Lan Command Line,
tcping.exe
Приложение распространяется по лицензии GPL.
Вы можете использовать его совершенно свободно без всяких ограничений.
Данные для обратной связи находятся в коде заголовка HTA приложения.
mozers™