Сбор информации о компьютере по сети
«10-Страйк: Инвентаризация Компьютеров» —
Программа для учета ПК в сети предприятия
Программа автоматически опросит ваши ПК по сети и соберёт информацию об установленном «железе» и программах. Создавайте отчёты и отслеживайте изменения на всех ПК: что было установлено или удалено.
ВОЗМОЖНОСТИ ПРОГРАММЫ
ПРЕИМУЩЕСТВА
Сбор информации без установки дополнительного ПО на компьютеры сети (через WMI и Active Directory).
Фоновый сбор информации по расписанию.
Опрос Windows, Linux, MacOS, SNMP, а также Android-устройств (по SSH).
Мониторинг изменений программ и оборудования на компьютерах.
Диагностика проблем на компьютерах сети и оповещение администратора.
Более 100 готовых отчётов, экспорт в PDF, Word, Excel, HTML.
SAM-справочник на 100+ тысяч программ в Pro-версии программы.
Учет компьютерной техники и оргтехники, склад запчастей, ведение истории обслуживания компьютеров.
Поддерживает несколько способов сбора информации (для доменов, рабочих групп и ПК без сети).
Веб-интерфейс для удаленного доступа к инвентарной базе.
Работаем на рынке ПО с 1998 года (22 года). Разработка программы инвентаризации ведется уже 14 лет с 2006 года!
- Дополнительная информация:
- История версий
- Узнать цены
- Версия Pro — в чем разница?
- Скриншоты
- Видеоролики
- Документация
- FAQ (частые вопросы и ответы)
СКРИНШОТЫ
ВЕРСИИ: ОБЫЧНАЯ И PRO
Таблица отличий между версиями:
Если у вас уже есть лицензия на обычную версию, то можно перейти на Pro, доплатив разницу в цене между той лицензией, что у вас есть, и нужной лицензией Pro. Посмотреть цены и доплатить можно здесь >>
При покупке лицензии вы получите подписку на бесплатные обновления программы и тех. поддержку в течение одного года. Мы не забрасываем наш проект и постоянно развиваем его уже более 12 лет (с 2006 года).
Программа работает в среде Windows XP/Vista/7/8.1/10; Server 2003/2008/2012/2016/2019. Вы можете скачать и попробовать 30-дневную пробную версию бесплатно.
ДОСТИЖЕНИЯ
Лауреат премии «Российское ПО 2014: инновации и достижения» журнала PC Magazine.
14.12.2014: «ПК опрашиваются в фоновом режиме, предоставляя администратору актуальные отчеты о комплектующих и программах, установленных на компьютерах. Пакет позволяет загружать информацию с ПК за маршрутизаторами и NAT, извлекать данные с ноутбуков и Android-гаджетов мобильных сотрудников.»
Лауреат награды «PC Magazine/RE. Лучшее ПО 2013 г.»
12.12.2013: «Удобная система инвентаризации ИТ-инфраструктуры, что особенно полезно в компаниях СМБ с их «зоопарком» оборудования. Система фиксирует марки оборудования, конфигурацию ПК, версии ПО и лицензии. Одна из самых полезных возможностей — отслеживание изменений в оборудовании, дающая возможность обнаруживать выход из строя, пропажу или подмену комплектующих.»
02.10.2007: «Мощный инструмент для централизованной инвентаризации аппаратного и программного обеспечения компьютеров локальной сети. Позволяет обнаруживать компьютеры в сети и собирать информацию о них в базу данных. Возможность выбора в отчет компьютеров, конфигурации которых удовлетворяют заданному условию, упрощает решение таких задач, как планирование модернизации.»
ОТЗЫВЫ
Тарасов Дмитрий Валерьевич, заместитель директора по экономике и финансам
филиал ПАО «МРСК Северо-Запада» «Комиэнерго», 18.03.2019: «Использование программы помогает нашим it-специалистам контролировать работу компьютерной техники компании, своевременно реагировать на возникающие проблемы, вести учет и планировать затраты на текущее обслуживание и модернизацию. За время эксплуатации «Инвентаризация Компьютеров» зарекомендовала себя как надежная, легкая в освоении программа.»
Евгений Николаев
УК «Петропавловск», 11.09.2014: «Наша компания начала использовать программу практически с момента её выхода. Со временем, у нас появлялись новые идеи по доработке и по внесению удобных для нас дополнений в программу. Программисты «10-Страйк» с энтузиазмом относятся к интересным предложениям и нововведениям, которые мы предлагаем. Благодаря нашему взаимодействию, программа становится всё совершеннее, функциональнее и удобнее. Программа является в нашей компании основной в инвентаризации ПО и железа.»
Арсений Осипов
18.01.2013: «Наша компания уже несколько лет использует продукт «10-Страйк: Инвентаризация Компьютеров». Хочу отметить, что данная программа экономит время наших IT-специалистов и очень удобна в использовании.»
НАМ ДОВЕРЯЮТ
Нашими программами пользуются на тысячах предприятий, включая энергетическую, нефте- и газодобывающую промышленность, телекоммуникационные компании, банки, министерства и ведомства, коммерческие организации, бюджетные и образовательные учреждения, больницы и т.д.
Программа включена в единый реестр российского ПО минкомсвязи
Сбор информации о компьютере по сети
Вот что накопал из своих старых разработок. Код, может быть, и не слишком красивый, но я его с тех пор так и не менял. А зачем, если работает ?
//Common variables
var ComputerName; //Local computer name
var report;
var Args = WScript.Arguments; //аргументы командной строки
if(Args.Length == 1)
<
if(Args(0) != «/?»)
var ComputerName = Args(0);
else
<
WScript.Echo(«Use [cscript/wscript] hw.js ComputerName»);
WScript.Quit();
>
>
else //Неправильные аргументы коммандной строки
<
WScript.Echo(«Use [cscript/wscript] hw.js ComputerName»);
WScript.Quit();
>
var fso = WScript.CreateObject(«Scripting.FileSystemObject»); // File System Object Creation
var report = fso.CreateTextFile(ComputerName + «.txt»,true); //report file
//Считывание типа CPU
var wmiCPU = new Enumerator(objWMIService.ExecQuery(«Select Name from Win32_Processor»));
report.WriteLine(«CPU model name: » + wmiCPU.item().Name);
report.WriteBlankLines(1);
//Cчитывание параметров материнской платы
if(ReadCaption(«Mainboard: «,»Win32_BaseBoard», «NoString») != «undefined»)
<
var wmiMB = new Enumerator(objWMIService.ExecQuery(«Select * from Win32_BaseBoard»));
report.WriteLine(«Mainboard model: » + wmiMB.item().Product);
report.WriteLine(«Mainboard manufacturer: » + wmiMB.item().Manufacturer);
report.WriteLine(«Mainboard serial number: » + wmiMB.item().SerialNumber);
report.WriteBlankLines(1);
>
//Считывание параметров BIOS
if(ReadCaption(«BIOS: «,»Win32_BIOS», «NoString») != «undefined»)
<
var wmiBIOS = new Enumerator(objWMIService.ExecQuery(«Select * from Win32_BIOS»));
report.WriteLine(«BIOS name: » + wmiBIOS.item().Name);
report.WriteLine(«BIOS maufacturer: » + wmiBIOS.item().Manufacturer);
report.WriteLine(«BIOS version: » + wmiBIOS.item().Version);
report.WriteLine(«BIOS bulid number: » + wmiBIOS.item().BuildNumber);
report.WriteLine(«BIOS release date: » + wmiBIOS.item().ReleaseDate);
report.WriteBlankLines(1);
>
//Считывание параметров ОЗУ
var wmiComputerSystem = new Enumerator(objWMIService.ExecQuery(«Select TotalPhysicalMemory from Win32_ComputerSystem»));
report.WriteLine(«Total physical memory: » + Math.round(wmiComputerSystem.item().TotalPhysicalMemory/1048576) + » Mb»);
report.WriteBlankLines(1);
//Считывание параметров IDE контролеров
ReadCaption(«IDE controller: «, «Win32_IDEController»);
//Считывание параметров SCSI контроллеров
ReadCaption(«SCSI controller: «, «Win32_SCSIController»);
//Считывание параметров жестких дисков
var NoDrives = false
try
<
var wmiHDD = new Enumerator(objWMIService.ExecQuery(«Select * from Win32_DiskDrive»));
>
catch(e)
<
if(e != 0)
NoDrives = true
>
if(!NoDrives)
<
var i = 0;
for(;!wmiHDD.atEnd();wmiHDD.moveNext())
<
report.WriteLine(«Drive»+(i+1)+»:»);
report.WriteLine(«HDD device ID: » + wmiHDD.item().DeviceID);
report.WriteLine(«HDD model: » + wmiHDD.item().Model);
report.WriteLine(«HDD interface: » + wmiHDD.item().IntrefaceType);
if(wmiHDD.item().InterfaceType == «SCSI»)
<
report.WriteLine(«HDD SCSI bus: » + wmiHDD.item().SCSIBus);
report.WriteLine(«HDD SCSI LUN: » + wmiHDD.item().SCSILogicalUnit);
report.WriteLine(«HDD SCSI port: » + wmiHDD.item().SCSIPort);
report.WriteLine(«HDD SCSI target ID: » + wmiHDD.item().SCSITargetId);
>
report.WriteLine(«HDD size: » + Math.round(wmiHDD.item().Size/1073741824) + » Gb»);
report.WriteLine(«Amount of partitions on drive: » + wmiHDD.item().Partitions);
report.WriteLine(«HDD signature: » + wmiHDD.item().Signature);
report.WriteLine(«Total cylinders: » + wmiHDD.item().TotalCylinders);
report.WriteLine(«Total heads: » + wmiHDD.item().TotalHeads);
report.WriteLine(«Total sectors: » + wmiHDD.item().TotalSectors);
report.WriteLine(«Total tracks: » + wmiHDD.item().TotalTracks);
report.WriteLine(«Bytes per sector: » + wmiHDD.item().BytesPerSector);
report.WriteLine(«Sectrors per track: » + wmiHDD.item().SectorsPerTrack);
report.WriteLine(«Tracks per cylinder: » + wmiHDD.item().TracksPerCylinder);
report.WriteBlankLines(1);
i++;
>
>
else
<
report.WriteLine(«No drives or Win32_DiskDrive WMI class error.»);
report.WriteBlankLines(1);
>
//Считывание параметров FDD
ReadCaption(«FDD: «, «Win32_FloppyDrive»);
//Считывание параметров CDROM
ReadCaption(«CDROM: «, «Win32_CDROMDrive»);
//Считываение параметров видеокарты
if(ReadCaption(«Video controller model: «,»Win32_VideoController», «NoString») != «undefined»)
<
var wmiVGA = new Enumerator(objWMIService.ExecQuery(«Select * from Win32_VideoController»));
report.WriteLine(«Video processor: » + wmiVGA.item().VideoProcessor);
report.WriteLine(«Video RAM size: » + wmiVGA.item().AdapterRAM/1048576 + » Mb»);
report.WriteLine(«Video driver: » + wmiVGA.item().InstalledDisplayDrivers);
report.WriteLine(«Video driver version: » + wmiVGA.item().DriverVersion);
report.WriteLine(«Video mode: » + wmiVGA.item().VideoModeDescription);
report.WriteBlankLines(1);
>
//Считываение параметров монитора
ReadCaption(«Monitor: «,»Win32_DesktopMonitor»);
//Считывание параметров сетевых адаптеров
var NoNIC = false
try
<
var wmiNIC = new Enumerator(objWMIService.ExecQuery(«Select * from Win32_NetworkAdapter»));
>
catch(e)
<
if(e!=0)
NoNIC = true;
>
if(!NoNIC)
<
for(;!wmiNIC.atEnd();wmiNIC.moveNext())
<
report.WriteLine(«Network adapter model name: » + wmiNIC.item().Name);
report.WriteLine(«Network adapter manufacturer: » + wmiNIC.item().Manufacturer);
if(wmiNIC.item().ConfigManagerErrorCode == 0)
report.WriteLine(«Network adapter is working properly»);
else if(wmiNIC.item().ConfigManagerErrorCode == 22)
report.WriteLine(«Network adapter is disabled»);
else if(wmiNIC.item().ConfigManagerErrorCode == 11)
report.WriteLine(«Network adapter failed»);
else if(wmiNIC.item().ConfigManagerErrorCode == 1)
report.WriteLine(«Network adapter is not configured correctly»);
else if(wmiNIC.item().ConfigManagerErrorCode == 2)
report.WriteLine(«Windows cannot load the driver for this network adapter»);
else if(wmiNIC.item().ConfigManagerErrorCode == 6)
report.WriteLine(«The boot configuration for this network adapter conflicts with other devices.»);
else if(wmiNIC.item().ConfigManagerErrorCode == 24)
report.WriteLine(«This network adapter is not present, is not working properly, or does not have all its drivers installed.»);
else if(wmiNIC.item().ConfigManagerErrorCode == 28)
report.WriteLine(«The drivers for this device are not installed.»);
else if(wmiNIC.item().ConfigManagerErrorCode == 30)
report.WriteLine(«This network adapter is using an IRQ that another device is using.»);
else if(wmiNIC.item().ConfigManagerErrorCode == null)
report.WriteLine(«Network adapter status undefined»);
else
report.WriteLine(«Network adapter status code: » + wmiNIC.item().ConfigManagerErrorCode);
report.WriteLine(«Network adapter type: » + wmiNIC.item().AdapterType);
report.WriteLine(«Network adapter device ID: » + wmiNIC.item().DeviceID);
report.WriteLine(«Network connection name: » + wmiNIC.item().NetConnectionID);
report.WriteLine(«MAC address: » + wmiNIC.item().MACAddress);
if((wmiNIC.item().NetConnectionStatus == 1)||(wmiNIC.item().NetConnectionStatus == 2))
report.WriteLine(«Network connection status: connected.»);
else if((wmiNIC.item().NetConnectionStatus == 0)||(wmiNIC.item().NetConnectionStatus == 3))
report.WriteLine(«Network connection status: diconnected.»);
else if(wmiNIC.item().NetConnectionStatus == null)
report.WriteLine(«Network connection status: undefined.»);
else
report.WriteLine(«Network connection status: » + wmiNIC.item().NetConnectionStatus);
report.WriteBlankLines(1);
>
>
else
<
report.WriteLine(«No network adapters or Win32_NetworkAdapter WMI class error»);
report.WriteBlankLines(1);
>
//Считывание параметров звуковой карты
ReadCaption(«Sound device: «, «Win32_SoundDevice»);
//Считывание параметров клавиатуры
ReadCaption(«Keyboard: «, «Win32_Keyboard»);
Инвентаризация и учет компьютеров по сети (10 страйк)
Инвентаризация и учет компьютеров по сети (10 страйк)
Учет компьютеров помогает определить слабые места в вашей в организации. Проводя инвентаризацию компьютеров по сети, вы ускоряете и автоматизируете процесс сбора информации. Одним из наиболее удобных инструментов по учету техники, является программа «10-Страйк. Инвентаризация компьютеров Pro» о которой и пойдет речь в данном видеоуроке.
Хотите получать свежие новости через ВК? Не вопрос, жми по ссылке : IT-Skills | Запишись в ИТ качалку
Помимо того, что программа умеет собирать информацию о конфигурации оборудования, она также поддерживает данную информацию в актуальном состоянии, за счет выполнения автоматических проверок. Кроме этого, в ней очень удобно пользоваться конструктором отчетов, система автоматически оповещает о проблемах, возникающих с аппаратным и программным обеспечением, таких как степень заполнения, состояния и температуру жёсткого диска, контроль актуальности антивирусной защиты и обновлений Windows, об установленном или удаленном программном обеспечении, подключаемых внешних дисках, USB флешках и многое другое.
Загрузка и установка 10-Страйк: Инвентаризация Компьютеров Pro
Давайте скачаем и установим программу с официального сайта разработчика https://www.10-strike.ru/ Скачать «10-Страйк: Инвентаризация Компьютеров Pro» 9.0 network-inventory-pro-setup.exe Далее Далее Далее Установить Запустить программу
Сбор информации с компьютеров
При первом запуске программа предлагает просканировать нашу сеть, в поисках компьютеров, по которым мы будем проводить инвентаризацию.
Добавление из диапазона IP-адресов – в данном случае будут добавлены компьютеры, которые в данный момент включены и имеют доступ в локальную сеть, если компьютер выключен, то он не будет добавлен в список (Выбираем сетевую карту смотрящую в нашу сеть Проверяем корректность указанного диапазона IP адресов Добавить из диапазона Указываем данные администратора домена, для выполнения более полного опроса устройств Сканировать Все Добавить ОК)
Вообще, что касаемо добавления компьютеров в систему мониторинга, тут есть большое количество различных способов, как это сделать:
- — сканирование диапазона IP адресов
- — добавление из структуры Active Directory
- — через logon-скрипт
- — через установленного агента
- — даже через ftp сервер или электронную почту, если компьютеры находятся в разных сетях.
Но, на данной теме я особо заострять внимание не буду, так как главная задача — это рассмотреть основной функционал. В крайнем случае можно будет сделать отдельное видео на тему способов подключения компьютеров к системе.
Просмотр собранных данных
Теперь компьютеры появились в списке. Щелкнув по названию компьютера мы можем проанализировать всю собранную информацию, переключаясь между пунктами, касающихся различных типов данных (Сводная информацию о компьютере; Аппаратное обеспечение: Процессор и материнская плата, Память, Дисковые устройства, Видеоконтроллер, Мониторы, Сетевые карты, BIOS, Принтеры; Программное обеспечение: Операционная система, Лицензионная информация, Антивирусы, Центр безопасности, Обновления и патчи, Автозагрузка, Локальные администраторы, Открытые ресурсы; Информация о лицензировании программного обеспечения; Установленное ПО; Приложения Microsoft; Учетные записи; Службы; Мультимедиа, Таблица маршрутизации)
В общем, куча различных пара метров, с которыми мы в дальнейшем сможем работать.
Контроль изменений в конфигурации ПК
Представим ситуацию, что пользователь решил апгрэйдить свой домашний компьютер, за счет компании и снял планку оперативки с рабочего компьютера, давайте попробуем симитировать данную ситуацию и найдем не чистого на руку сотрудника.
Сейчас у нас уже сохранилась конфигурация компьютеров в базе программы, так что нам нужно уменьшить объем оперативки и посмотреть, как на это отреагирует программа (Windows-10 Завершение работы Параметры виртуальной машины Память 1Гб ОК Включить виртуальную машину)
Выполняем повторный сбор данных (Windows-10 ПКМ Собрать информацию Готово)
Кстати, что касаемо повторного сбора данных, его можно выполнять вручную, как мы сейчас сделали, либо задать расписание (Сервис и настройка Расписание сбора информации Сбор данных по расписанию Изменить Выбор групп данных Далее Расписание Готово).
Появилась уведомление «Показать журнал изменений» (Компьютер Windows-10 Изменено Изменился модуль памяти 1Гб дата изменения и с 2Гб на 1Гб)
Вот так работает система по обнаружению изменений в конфигурации компьютера.
Работа со сводной таблицей конфигурации
Это то, что касаемо просмотра данных по определенному компьютеру, если вам необходимо выполнить анализ всех компьютеров, допустим по объему оперативной памяти, с целью её увеличения, то можно создать отчет.
Так как у меня всего один компьютер, то формирование подобного отчета не предоставит какую-то особо большую аналитическую информацию. Поэтому я подгружу базу из другой сети.
Одной из очень крутых и удобных функций является работа со сводной таблицей, по сути, это конструктор отчетов (Главная Сводная таблица)
— выполнять сортировку данных по типу процессора, объему ОЗУ и т.д. Все зависит от того, какие параметры у вас будут отображаться в таблице.
— выбирать группы компьютеров, которые попадут в отчет (Компьютеры Все Готово);
— выбирать параметры, которые будут отображаться (Колонки Доступные колонки Сетевая конфигурация IP-адрес > Готово) После чего можно выполнить сортировку по IP адресу, чтобы понять какие компьютеры находятся в разных сетях.
— добавлять фильтр, чтобы сгруппировать список по определённому признаку (Фильтр Шаблоны фильтров Операционная система Windows XP Применить)
— выполнить предварительный просмотр, для дальнейшей печати и сохранить отчет в формате pdf
Создание отчета через мастера
Помимо работы со сводной таблицей, мы можем создать индивидуальные отчеты, допустим сформируем выборку по объему оперативной памяти (Отчеты Мастер отчетов Аппаратное обеспечение Память по компьютерам, т.е. программа сгруппирует компьютеры с определенным объемом памяти Все Готово) Теперь мы можем проанализировать, каким компьютерам требуется добавить оперативку.
Если выбрать (Аппаратное обеспечение Память по объектам Все Готово), то мы получим список компьютеров с общим объемом ОЗУ на каждом компьютере и более подробную информацию по количеству установленных планок и их объему.
Можно вытащить информацию о лицензиях на программное обеспечение (Операционная система. Учет лицензий Лицензионная информация Лицензионная информация сгруппированная по компьютерам Все Далее Предварительный просмотр Готово)
Как вы видите, здесь можно формировать большое количество отчётов и буквально в пару кликов. Не говоря уже о возможности создания собственных пользовательских шаблонов, для формирования индивидуального отчета, в зависимости от ваших потребностей.
Оповещение о проблемах
Так же система умеет оповещать о различных проблемах с программным и аппаратным обеспечением (Главная Диагностика Все Найти). Благодаря чему, мы можем узнать, где не установлены или не запущены антивирусы, просрочена антивирусная база, сбилось системное время, недостаточно места на диске, выключено автоматическое обновление, перегрев жесткого диска.
Если какая-то проблема была обнаружена в момент нового сбора данных, то система вас уведомит об этом в интерфейсе программы.
Инвентаризация ПК в домене
Стала задача провести инвентаризацию компьютеров организации, для установления возможности апгрейда комплектующих.
Может кому-нибудь пригодится данный способ:
1) Установленный/Portable Дистрибутив AIDA64
3) Учетка с правами администратора в данном домене
1) Создаем шару с полным доступом для всех и копируем туда все файлы aida64
2) Запускаем Aida64, заходим в мастер отчетов , выделяем нужные нам свойства и сохраняем на шару рядом с AIDA64.exe — aida64.rpf
3) Делаем бат-файл со следующим содержимым и кладем его на нашу шару в папку с aida64 под именем aida.bat:
\station177AIDALOGS2aida64.exe /R «\station177AIDALOGS2Reports$IPADDR — $HOSTNAME — $USERNAME.txt» /SUM /CSV /SHOWP /NOICONS /CUSTOM \station177AIDALOGS2aida64.rpf
где \station177AIDALOGS2 — путь к шаре
4)Для скана всех известных пк в сети(используется ARP таблица) запускаем данную команду:
Сначала обновляем ARP таблицу:
for /L %a in (1,1,254) do @start /b ping 10.200.1.%a -n 2 > nul
Замените 10.200.1 на вашу подсеть
И команда для инвентаризации:
psexec \* -u domainuser -p ***** -d -n 12 \station177AIDALOGS2aida.bat
, где * — скан всех пк (ARP)
Для скана определенного пк замените * на его имя
В итоге в папке REPORTS обнаружим отчеты в CSV/HTML формате, которые можно просмотреть в любом браузере в удобном виде.
+ данного метода в том, что aida предоставляет множество информации(нужные поля мы сами задаем в мастере отчетов)
+ все происходит в скрытом режиме для конечного пользователя
Он денег стоит:D
Нам было необходимо достать инфу конкретную, чтобы закупить память под старый разрозненный парк. Опять же единоразово, а не на постоянной основе. Так и PRTG хватает
Опять повторюсь, аида позволяет достать ту же макс поддерживаемую ОЗУ + количество свободных слотов + поддерживаемые типы достать. И еще кучу всего по желанию. Не всякий софт справится.
А зачем перед сканированием ARP-таблицу очищать?
А именно очищать ее нужно перед сканом подсети так как некоторые пк, которые закэшировались в таблице уже могут быть выключены и это удлиняет время отработки скрипта.
У меня строчка завелась только после изменения:
for /L %%a in (1,1,254) do @start /b ping 10.200.1.%a -n 2 > nul
Без этого ошибка «Непредвиденное появление а».
Дык это не очистка, а наоборот заполнение таблицы — пинг каждого пк в указанной подсети в указанном диапозоне, чтобы pstools смогла отработать с * диапозоном.
Как этот процесс заставить работать не в домне.
Допустим, на всех ПК есть админская учётка «admin» c одним и тем же паролем.
Первую проблему победил — это заставил psExec заходить на ПК — на всех ПК разрешил доступ к админиским шарам «C$» (в домене он уже включён, а у меня компьютеры не в домене), командой:
reg add «HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem» /v «LocalAccountTokenFilterPolicy» /t reg_dword /d 1 /f
Вторая проблема в том что psExec надо запускать в cmd, запущенной от администратора, т.к. aida64 требует повышения прав.
Третью пробелму я не смог победить: проблема в том, что psExec не может запустить бат файл с шары, хотя доступ для всех и без пароля (вручную с другого с ПК, с которого мне надо собрать отчёт я могу запустить из шары этот bat файл):
Сбор информации о компьютере по сети
Современные информационные технологии / 3. Программное обеспечение
Белорусский Национальный Технический Университет
Способы получения информации о компьютерах в локальной сети с использованием . NET Framework
При программировании сетевых приложений часто возникают вопросы получения полного списка доступных удаленных компьютеров с информацией об их программных и аппаратных компонентах. Данную задачу видится целесообразным разбить на этап получения списка удаленных компьютеров и этап получения информации об конкретной рабочей станции. Каждый из этих этапов может быть решен несколькими способами, которые рассмотрены ниже.
Наиболее простым способом получить список удаленных компьютеров, доступных в локальной вычислительной сети, является использование сканирования по заданному диапазону IP -адресов. IP-адреса представляют собой основной тип адресов, на основании которых сетевой уровень протокола IP передаёт пакеты между сетями [1]. Для проверки достижимости узла в сети в .NET Framework существует специальный инструмент – класс Ping. Класс Ping используется приложениями, чтобы определить, доступен ли удаленный компьютер и предоставляет функциональность, аналогичную программе командной строки Ping.exe. Топология сети может влиять на возможность связи объекта Ping с удаленным узлом [2] и успешный результат означает только то, что удаленный узел доступен по сети.
Другой способ получения списка компьютеров заключается в использовании сетевых API (от англ. Ap p lication Program Interface – «программный интерфейс приложения»). Операционные системы семейства Windows поддерживают сетевые API, которые позволяют управлять пользовательскими учетными записями и ресурсами сети. Эта функциональность реализована в библиотеке NetApi32.dll, которая предоставляет полезные функции, с помощью которых можно получить список DNS-имен удаленных компьютеров в сети и более подробную информацию об удаленном компьютере. Для доступа к ним через . NET Framework можно воспользоваться механизмом P / Invoke , который позволяет обратиться из управляемого кода к специфичным функциям операционной системы, не требуя от программиста выполнять необходимую в этом случае операцию преобразования типов переменных и скрывая другие тонкости взаимодействия различных компонентов между собой. Прототип функции, экспортируемой из NetApi32 для использования средой . NET Framework , указан на рисунке ниже:
Другой способ получения рабочих станций есть в сетях, где используется Active Directory. Active Directory является версией службы каталога, разработанной в компании Microsoft, и обеспечивает мощный сервис для управления и уникальной идентификации пользователей, групп и компьютеров, а также предлагает безопасный доступ к сетевым ресурсам. Ее архитектура разработана по спецификации облегченного протокола службы каталогов (LDAP) и семейства протоколов TCP/IP [3].
В . NET Framework классы, отвечающие за работу с Active Directory , расположены в пространстве имен System . DirectoryServices . П ример получения с помощью . NET -классов списка компьютеров, которые сохраняются в переменной compList типа List представлен на рисунке ниже:
Для получения информации об определенном удаленном компьютере можно воспользоваться функцией NetServerGetInfo, прототип которой описан в документации разработчика [2]. В качестве одного из параметров передается структура pSERVER_INFO_XXX, где XXX определяет тип структуры. После вызова функции поля структуры будут заполнены соответствующими значениями.
Другой способ получения данной информацию заключается в использовании технологии Windows Management Instrumentation ( WMI ), которая представляет собой универсальное средство управления компьютерной системой. Существуют как плюсы, так и минусы в использовании данной технологии, которые перечислены в нижеследующей таблице: