Skip to content
 

Прога для сисадминов NM (в народе — «енот»)

Представляю малоизвестную в народе программу NM для системных администраторов, активно работающих с active directory. Программа значительно облегчает труд сисадмина, а иногда просто незаменима.

Подробнее:

программа NM

Автор — ccccp

скачать программу можно здесь: http://sourceforge.net/projects/netopmanager/

Описание

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

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

NM — программный продукт, предоставляющий удобный и быстрый доступ к информации о рабочих станциях и учетных записях в вашей сетевой структуре, и позволяет за несколько секунд выполнить следующие действия:

  1. Узнать когда был последний вход определенного пользователя и на каком компьютере?;
  2. Выяснить основные реквизиты учетной записи пользователя (Полное имя, Телефон, E-Mail, и т.д.)?;
  3. Найти IP зная  MAC и наоборот;
  4. Одним-двумя щелчками запустить повседневные утилиты удаленного администрирования типа Psexec, NetOp, VNC, Dameware MRC, Radmin, etc. с передачей в качестве параметров имени ПК и(ли) учетных данных для подключения;
  5. Составить списки по членству в группах и принадлежности к подразделениям;
  6. В короткие сроки подготовить отчет или составить список;
  7. Выяснить, каким компьютерам требуется апгрейд оперативной и дисковой памяти, сетевых интерфейсов;
  8. Найти, на каких компьютерах есть проблемы с обновлениями или какие явно заражены вирусами (параметры реестра HKLM\..\Winlogon\Shell и Userinit);
  9. Просмотреть и произвести поиск по любым прочим параметрам, которых в данный момент насчитывается более 40.

10.  Интеграция с www.netdisco.org позволяет в считанные секунды найти порт и коммутатор к которому подключен ПК пользователя.

картинко (скриншотеги):

Приложение состоит из двух компонентов:

●        скрипт на kix32 http://www.kixtart.org/ cp.kix запускается из user-startup скрипта на всех ПК локальной сети и сохраняет результат в общую папку, доступную всем пользователям сети на чтение/запись. Результатом работы скрипта является текстовый файл названный по NETBIOS имени ПК.

●        gui win32 приложение,которое читает файлы с результатами работы скрипта cp.kix и представляет их в виде таблицы с возможностью гибкой фильтрации и выгрузки в html (например для последующего анализа в MS Excel)

Этапы внедрения:

  1. Создать общую папку на файловом севере \\server\share\data
  2. Разрешить доступ на чтение/запись в эту папку группе “Пользователи домена”
  3. Внутри скрипта cp.kix поменять значение переменной $SharePath

$SharePath = «\\server\share\data» ;<— тут написать путь к шаре

  1. Проверить работоспособность запустив kix32.exe c параметром cp.kix

c:\>kix32.exe cp.kix

Результатом работы скрипта будет файл названый NETBIOS именем ПК в папке

\\server\share\data

  1. Определить OU в домене к которому будет привязан объект GPO запускающий скрипт cp.kix Как правило это ou=users,dc=domain
  2. Создать общую папку на файловом сервере с доступом чтение/запуск для группы пользователей “Пользователи домена” \\server\share\kix
  3. Скопировать файлы cp.kix и kix32.exe в папку \\server\share\kix
  4. Создать командный файл inventory.cmd содержащий строку запуcка

\\server\share\kix32.exe \server\share\kix\cp.kix

  1. Создать политику для этого OU и назначить в качестве startup cкрипта пользователя inventory.cmd

10.  Перелогиниться в профиль MS Windows на любом ПК домена. Если все настройки верны то в папке \\server\share\data будет создан файл результатов работы скрипта названый NETBIOS именем ПК.

11.  Запустить nm.exe на закладке config указать путь к папке в разделе Path to KIX results \\server\share\data и нажать кнопку Refresh

Особенности интерфейса:

●        В полях формы фильтрации поддерживается поиск по нескольким словам (частям слова) разделенных пробелом например “иванов петров пупкин”.

●        Для точной фильтрации используется символ \ например: \User

●        Для точного поиска необходимо включить искомую фразу в кавычки например: “Иванов Иван”

●        Результат поиска объединяется по условию ИЛИ

●        Если строка поиска не найдена то, производится ее автоматическая перекодировка в другую раскладку (EN/RU) и повторный поиск. Если и при повторном поиске ничего не найдено то строка поиска снова перекодируется в первоначальную кодировку. Также неверно набранную раскладку можно “перевернуть” кликнув мышкой в названия полей для поиска.

●        На закладке config расположен листбокс со списком доступных для отображения столбцов. Для того чтобы изменения в этом списке вступили в силу необходимо перезапустить приложение

●        В момент закрытия информация о ширине столбцов фильтрованного списка сохраняется в файл nm.ini Далее при старте приложения эта информация применяется как к столбцам фильтрованного, так и общего списков.

●        Для правильной сортировки колонок содержащих цифровые данные в файле nm.ini предусмотрен раздел [IsNumeric] В нем описаны столбцы которые следует сортировать как числовые. 0 — текстовый столбец, 1 —  числовой.

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

●        В файле nm.col содержится информация, которая при старте приложения загружается в листбокс на закладке config. При желании можно подифицировать скрипт cp.kix для получения дополнительной информации и помещения ее в файл результатов для дальнейшего анализа в nm.exe

●        При старте приложения комбобокс Date: заполняется уникальными датами создания файлов результатов. При нажатии кнопки Refresh эта информация не обновляется. Для обновления информации в комбобоксе необходимо перезапустить приложение.

●        Для более быстрого анализа списка предусмотрено 5 цветовых градаций. Если в строке таблицы в любой ее колонке будет найдено слово (последовательность символов) указанное настройках то строка будет подсвечена соответствующим цветом (последовательность заливки “сверху вниз” т.е. если верхний совпал и нижний то закрасится нижним) . Это удобно например для визуального отображения привилегий пользователя на ПК.

●        Если по какой-то причине в именах результирующих файлов работы скрипта cp.kix добавлено расширение то его можно указать в поле KIX file suffix например: . LOG

●        В фильтрованной таблице при правом клике на строку доступно всплывающее меню, в котором доступны некоторые действия с ПК:

●        Предусмотрена возможность вызова внешних командных файлов с указанием в параметрах командной строки имени компьютера и пароля. Для этого в всплывающем меню служит пункт Deploy. Информация динамически подгружается из файла nm.dep имеющего формат “название пункта”,”имя командного файла или приложения”. Командный файл будет выполнен c параметрами %1 и %2

file.cmd %1 %2

Где     %1 NETBIOS имя компьютера

%2 —  Пароль (необязательный параметр)

пример командного файла “снятие скриншота с удаленной машины”

lsgrab.exe /c:%1 /p:c:\

start c:\%1.JPG

пример командного файла “Установка приложения через psexec

psexec.exe \\%1 -u domain\Admin -p %2 -e \\server\share\prog_inst.cmd

=== install_prog.cmd ===

msiexec  /q /i «\\server\share\installer.msi»

========================

●        Как оказалось запуск psexec в w7/Vista с активным UAC требует дополнительного ключа командной строки -i 1 поэтому скрипт деплоинга может выглядеть например так:

@echo off

:: =============================================================================

:: Запуск psexec с разными ключами в зависимости от версии OS 2000/XP/Vista/W7

:: =============================================================================

:: 5.0 — 2000

:: 5.1 — XP

:: 6.0 — Vista

:: 6.1 — w7

:: (c) cp 17.12.2010

:: =============================================================================

set OsVer=»Unknow»

wmic /node:»%1″ OS get Version > «%temp%\osver.txt»

type «%temp%\osver.txt» | find «5.0»

if ERRORLEVEL 1 goto next1

set OsVer=2000

:next1

type «%temp%\osver.txt» | find «5.1»

if ERRORLEVEL 1 goto next2

set OsVer=XP

:next2

type «%temp%\osver.txt» | find «6.0»

if ERRORLEVEL 1 goto next3

set OsVer=Vista

:next3

type «%temp%\osver.txt» | find «6.1»

if ERRORLEVEL 1 goto next4

set OsVer=W7

:next4

if %OsVer% == W7 goto psexecW7

psexec \\%1 cmd

goto end

:psexecW7

psexec \\%1 -i 1 cmd

:end

Написать отзыв