Доработать Desktop приложение для сбора информации о железе и ПО

5 000 руб. за проект
25 мая 2020, 14:11 • 4 отклика • 55 просмотров
Приложение предназначено для инвентаризации ПК локально и по сети.
Дано:
  1. Исходник приложения на с#
  2. Приложение подключается по очереди ко всем ПК (ОС от Win7 до Win10 x32/x64) из выбранного OU в AD с сервера (Win Server 2008r2) и собирает необходимые данные. Данные выводятся в listView и сохраняются в mainBase.accdb
  3. При запуске автоматически сканируется ПК на котором запущено ПО. Можно указать один конкретный удаленный ПК для сканирования
  4. Можно сканировать ПК локально, при этом для данного пк создается отдельный файл данных {PCNAME}.accdb. Приложение умеет объединять все собранные такие файлы дынных в один accdb
Задача:
  1. Реализовать возможность работать с файлом данных .accdb на ПК, где не установлен MS Office (а может и так работает?) или выбрать любую другую файловую БД
  2. Реализовать многопоточность: сканировать макс. в 4 потока (больше нельзя, заблокирует fw)
  3. Отображать данные в listView (можно заменить по своему усмотрению) в виде таблицы по мере получения данных с ПК.
  4. Реализовать возможность редактирования полученных данных в приложении с сохранением
  5. Если в файле данных уже есть данные о ПК, обновлять данные, не создавать новую запись (частично реализовано)
  6. Отображать в listView данные, которые уже имеются в файле данных
  7. Реализовать возможность экспорта данных в csv файл
  8. По двойному клику (или добавить кнопку) по item открывать окно с данными и функциональными кнопками:
    1. Имя ПК
    2. Имя активного пользователя
    3. Версия и редакция ОС
    4. Время работы системы
    5. description из AD данного ПК
    6. Состояние службы spooler. Рядом должна быть кнопка для ее перезапуска и реализован соответствующий функционал кнопки (всё через WMI)
    7. текстовое поле с содержимым из файла c:\program files (x86)\promo\app.config на текущем просматриваемом ПК с возможностью редактирования и сохранения
    8. Информация обо всех процессах java: имя и командная строка запуска
    9. Список установленного ПО в виде таблицы: Наименование + uninstalstring (WMI WIN32_Product не видит все приложения, поэтому нужно брать инфу из реестра), исключить из списка Пакеты обновлений. Пометить флагом "1" (в отдельном столбце таблицы) ПО, которых нет в белом списке. Белый список хранится рядом с приложением в txt файле. Данные о ПО собираются в фоне только при вызове данного окна.
    10. Кнопка для Экспорта списка ПО в {PCNAME}.csv с соответствующим функционалом
    11. Не важен дизайн, всё в произвольном виде, главное чтобы информация читалась легко
  9. Предоставить исходники проекта и параметры компиляции.Проект должен быть 100% совместим с IDE Visual Studio 2018/2019 и открываться без какой либо конвертации
Приложение должно быть написано на C# Целевая рабочая среда: .Net FrameWork 4.
Доступ к AD и ПК для отладки предоставить не могу.
И заказчик и исполнитель имеют все права на публикацию исходников в открытый доступ и использовать в своих целях как угодно без ссылок на авторов.