![]() |
моя практика в программировании
возможно будет кому-нибудь полезна :)
скачать E-num 0.0.1 https://i.postimg.cc/w7HkmFhk/1.png https://i.postimg.cc/bsT9Hbgf/2.png https://i.postimg.cc/LJ8ByXQY/3.png https://i.postimg.cc/sMfPxXpf/4.png p.s.: сегодня-завтра допишу обработку ошибок. планирую расширение функционала до сканирования пула IP и вывода таблицы с конфигурациями. возможен экспорт в Excel. после ввода пароля будет работать по клавише Enter :D принимаю пожелания для изменения интэрфейса программы :) |
Серег, по интерфейсам почитай основы UI/UX
И эспортировать лучше в csv, а не проприетарный формат. |
|
при тестировании на win7 выяснилось, что для работы сервиса необходимо добавить в исключения ещё один порт.
поправил инструкцию, актуальный дистриб тут. Цитата:
Цитата:
Цитата:
допишу обработчики ошибок. ну и уже там буду смотреть что не так :) а пока стандартный вопрос - версия ОС? :) и если можно скрин с развёрнутой кнопкой "Details" :) Спасибо :) ---------- Добавлено 28.08.2021 в 14:59 ---------- версия 0.0.2 :) скачать добавил обработчики ошибок на этапах определения каждого устройства и на этапе подключения к удалённому компьютеру. думаю, если теперь программа столкнётся с неизвестным ей устройством, то её работа всё-равно завершится правильно ;) |
https://i115.fastpic.org/big/2021/08...7e74e100d1.png
память не определил, и монитор не понятно. Windows 7 64, а слабо версию windows определить? |
окно ввода данных для подключения к компьютеру в сети
теперь работает по клавише Enter и "ругается" если пароль пустой. скачать Цитата:
если это болячка 7-ки, то проще, НО что то мне подсказывает, что это скорее исключение, чем правило :) Цитата:
пока эта строчка в коде скорее рудимент. раскодировать показания системных методов не получается...*PARDON* зато я увидел лишнюю табуляцию и убрал её ;) определение мониторов это одна из первостепенных задач... на потом :) программа создаётся для того, чтобы сидя провести ревизию по технике, поэтому с мониторами мне так и так разбираться :) Цитата:
|
Ну мониторы не всегда и не всякая проф программа типа аиды64 определяет, если только у монитора нет своего драйвера от производителя)
|
Цитата:
так и не нашёл... нашёл некие данные в виде кодов. ну типа сколько то символов отвечают за производителя, сколько то за модель итд. НО там не так всё просто. решил оставить на потом :) |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
я только выбрал нужный для себя (когда то) функционал ;) обрыл глоб... толком ничего не нашёл. по постам людей понял, что и они тоже. Цитата:
|
Нейл, привет, а встроенные виндовые фишки не пробовал использовать? Или они не всегда работают?
1) Команда SYSTEMINFO отображает сведения о конфигурации операционной системы на локальном или удаленном компьютере, включая уровни пакета обновления. Формат командной строки: SYSTEMINFO [/S <система> [/U <пользователь> [/P [<пароль>]]]] [/FO формат] [/NH] Список параметров: /S <система> Подключаемый удаленный компьютер. /U [<домен>\]<пользователь> Пользовательский контекст, в котором должна выполняться эта команда. /P [<пароль>] Пароль для этого пользовательского контекста. Запрашивает ввод пароля, если он не задан. /FO <формат> Описание формата выходного файла. Допустимые значения: "TABLE", "LIST", "CSV". /NH Отключение отображения заголовка "Column Header" в выходных данных. Допустимо для форматов "TABLE" и "CSV". /? Вывод справки по использованию. 2) Команда MSINFO32 Встроенный компонент Windows, имеет собственную оболочку, так же имеет возможность указать в меню удаленный компьютер и так же позволяет выполнить экспорт части параметров файл или сохранить все параметры так же в файл 3) Команда WMIC Так же встроенный компонент, имеющий множество функций Примеры использования: WMIC /Node:имя_компьютера_или_IP-адрес CPU Get /Value WMIC /Node:имя_компьютера_или_IP-адрес CPU Get Name WMIC /Node:имя_компьютера_или_IP-адрес ComputerSystem Get TotalPhysicalMemory WMIC /Node:имя_компьютера_или_IP-адрес MemoryChip Get /Value |
Цитата:
похоже, что все они используют WMI либо, что не всегда удобно, SMBIOS. я SMBIOS использую для определения типа (DDR2, DDR3, DDR4 etc...) памяти. все остальные данные получаю из Windows Management Instrumentation. единственное устройство, которое может некорректно распазнаваться т.о. - это монитор. и ладноб я понял, если VGA :) НО DVI, HDMI, Display Port ;)*PARDON* |
E-num 0.0.3 :)
скачать https://i.postimg.cc/hJYJ0Mmz/1.png https://i.postimg.cc/k6t2Y8Nj/2.png https://i.postimg.cc/tnQYKT29/3.png https://i.postimg.cc/QKQHh3y1/4.png https://i.postimg.cc/xqMkKv18/5.png https://i.postimg.cc/D8hS5SSg/6.png - Изменил GUI - чтобы не смущать граждан, убрал информацию про монитор :) - решил отказаться от сканирования по диапазону IP в сети (Имена пользователей, как и Пароли на узлах разные. Б - безопасность :)) осталось научить программу сохранять в *.csv :) |
Вложений: 1
|
Цитата:
да собственно и не за чем при ревизии конфига ПК знать кто и что там воткнул в USB ;) |
Добрый день! А чем плох PowerShell и WMI?
|
Цитата:
просто я на практике быстрее усваиваю материал :) а если что то подзабуду, то всегда есть куда подсмотреть :) |
Цитата:
|
почему пароль не может быть пустым?
|
Цитата:
если не путаю, - пошло с 2003 сервера. |
но у меня комп без пароля, что делать?фенита ля?
---------- Добавлено 30.08.2021 в 16:31 ---------- извини, но это вообще убивает. Зачем переводить сеть? а если это домен? а если домен то можно через домен выполнить удаленную команду На компьютере в сети нужно выполнить: 1. Переводим Сетевой профиль из Общедоступная сеть в Частная сеть. (Параметры -> Сеть и Интернет -> Свойства (подключения)) 2. Выполняем от Администратора в Командной строке: winrm quickconfig -q netsh advfirewall firewall add rule name="!!! Удалённое управление WinRM" dir=in protocol=TCP localport=135,5985,49667,49668,49154 action=allow за то время что это делаешь, можно глянуть свойства ПК. |
Цитата:
если на ПК в ЛВС нет пароля, то что то не так с безопасностью. Цитата:
скорее всего будет работать и без этого, если просто применить правило из файла с настройками в архиве. я не проверял, НО думается будет работать. рекомендация взята из руководства MS по использованию их средств. Цитата:
Цитата:
выясняя конфиги ПК, чем устраивать пешую прогулку по конторе, отвлекая людей от работы... да и вряд ли я сделаю это быстро... прошу учесть, что настройки единовременные, а ревизии - постоянные :) |
Для изучения программирования - вполне норм задача. Я как-то пользовался для подобных целей программой Total Network Inventory, которая мне очень понравилась и функциональностью, и удобством работы с ней.
Глянь на досуге, может какие идеи полезные можно "подсмотреть". |
Цитата:
посмотреть на каких портах блокирует доступ не удалось. видимо это связано со спецификой работы "Службы удаленного управления Windows" на Win7. Цитата:
Цитата:
для меня их минусы были очевидны - платные, очень много лишнего. найти что то простое, легковесное и бесплатное так и не получилось. зародилась "идея фикс", вылившаяся в написание своей, собственной программы :) (предварительно были написаны программы "калькулятор" сети, перебор диапазона ip от и до :) как оказалось - в реализации не пригодились *PARDON*:)) |
|
напоминаю, что
Цитата:
Цитата:
теперь 10-ка не хочет пускать к себе, а 7-ка "говорит" "добро пожаловать" :D для себя делаю такой вывод: раз разработчик ОС, кои функции использует написанная программа, рекомендовал именно те настройки, которые указаны в соответствующем файле, то кто я такой, чтобы что то оспаривать :) |
А на чём у тебя гуй?
|
Цитата:
|
Цитата:
|
Цитата:
https://glpi-project.org/ru/ Абсолютно бесплатное. Есть серверная часть с базой, есть кроссплатформенные клиентские, как раз для сбора информации. |
Цитата:
нифига мне glpi не понравилась :) или она была так настроена/оформлена... для меня лучшей альтернативой казался libreOffice calc + что то похожее на то, что написал сейчас я. смотрел в сторону конфигураций на 1С, НО сразу нет! лучше уж что то типа zabbix'а ;) |
glpi готовое решение, ставь и работай. либр офис для учета пяти компьютеров пойдет. но это не бест практис
|
очередная практика
для тех, кому интересно
|
Тебе пора уже на гитхабе репозиторий заводить.
|
Цитата:
вот допилю функционал и заведу ;) хочу исправить алгоритм деления на подсети, чтобы можно было делить на не 2 в степени n, а рандомно. считай вторая прога в кармане... следующим будет ПО - пародия на БД. прога должна будет уметь открывать файл, работать с ним в памяти, сохранять. что то типа таблиц excel, НО *.csv. с правами доступа и возможностью перемещения инфы с одного блока файла в другой... ну короче как то так :) |
Цитата:
1. Маска. Зачем показывать ошибку выбора маски, когда можно показывать только те варианты, которые работают? Неподходящие опции можно либо удалить из списка, либо сделать не активными 2. Опять же маска. Маску и префикс (бит в маске) было бы неплохо объединить при выборе, ибо во входных условиях может быть именно префикс (аля 192.168.0.1/24) и кастовать туда-сюда в голове не каждый может/хочет. 3. Число подсетей. Видно только 2 знака у выбранного значения, остальные потеряны. 4. Снова число подсетей. Аналогично пункту 1 - недоступные варианты стоит исключить из выбора. 5. Кнопка очистить. Она рядом с разделением подсетей, но чистит и вкладку "рассчитанные данные", что не очевидно. Собственно, зачем она вообще нужна тоже не понятно. 6. Общая композиция интерфейса. Кнопки подсчитать и разделить доступны сразу в основном окне, но их результат в разных вкладках. Да, они переключаются автоматически (за что плюс), но таки лучше эти вещи фундаментально разделить между теми же вкладками. Выбрали что хотим - сделали. Почему IP адрес - это входные данные, а число подсетей - нет? Тоже не понятно. 7. Интерактивность. В дополнение к пунктам 1 и 4. Кнопки подсчитать и разделить тоже лишние. Пересчитывать таблицы можно сразу при изменении входных данных. Если уж очень хочется сохранять состояния в процессе выбора (или между выбором) - это лучше сделать в явном виде, как историю операций (например, как у того же калькулятора начиная с десятки). 8. Последствия отсутствия интерактивности. Входные данные имеют значения по умолчанию, но рассчитанные данные пустые. Имеет смысл синхронизировать на старте, хотя бы как пример работы. Кнопка "разделить" недоступна пока не нажмешь "посчитать", но остается доступной при изменении входных данных. Если результат деления на подсети зависит от рассчитанных данных, то это ошибка. Если не зависит, то почему кнопка не доступна сразу? Понимаю, что программа создана для локального использования конкретным человеком, и технически она работает, но не считаю подход "в одной ситуации делаем хорошо, а в другой как повезет" правильным, никто не сможет провести черту когда одно перетекает в другое без ошибок. В конце концов эта программа ведь выложена тут, надеюсь, для того чтобы сделать её лучше. Цитата:
|
Цитата:
Цитата:
логика - человек, не особо умеющий считать сеть, выбирает что хочет. согласно его выбора он либо получает результат, либо объяснение - почему так не может быть. НО! если отталкиваться от идеи, изменить цвет на более блёклый для неподходящего выбора, было бы неплохо ;) Цитата:
Цитата:
Цитата:
тут наверное подойдёт просто пустое поле для ввода с пояснением в виде информирующего сообщения. Цитата:
надо будет "покурить" это дело... может действительно убрать её совсем *SCRATCH* Цитата:
логика - человек считает параметры сети, а затем принимает решение о её делении. хотел же сделать маленькое по размеру окошко, нет, блин... :D теперь думать придётся как и что :) НО потом. Цитата:
НО мне почему то такой подход видится неправильным. опять же по логике моего ответа по пункту 1. Цитата:
если только минимальную для каждой подсети, чтобы показать общее кол-во хостов в каждой... ну может быть :unsure::dnt: Цитата:
как только сеть рассчитана, можно её и поделить. соответственно, после расчёта, включается возможность деления... пришлось поразмышлять про ошибку... ну наверное можно очищать результаты деления после каждого пересчёта параметров сети :unsure: делать кнопку разделения невидимой после подсчёта нет смысла. ибо есть возможность изменения выбора числа деления подсетей... *SCRATCH* Цитата:
p.s.: Благодарю! ;) |
немного поправил :)
Вложение 91969 - добавил префикс к списку масок - увеличил длину поля с числом подсетей - изменил расположение элементов - убрал вкладки - убрал кнопку "очистить" :) |
Часовой пояс GMT +7, время: 07:57. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot