Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Скрипт автоматического сбора информации по сети. (http://forum.oszone.net/showthread.php?t=323447)

diagnoz_ 03-02-2017 09:10 2708549

Скрипт автоматического сбора информации по сети.
 
Здравствуйте. Стала задача своеобразного аудита всех ПК в сети фирмы. решил использовать встроенное средство msinfo32.exe. получился такой bat-файл:
Код:

@echo off
for /f "delims=" %%a in (D:\папка\папка\ip-адреса.txt) do (
echo %%a
start /wait sc \\%%a config helpsvc start=auto
start /wait sc \\%%a start helpsvc
start /wait msinfo32.exe /report D:\папка1\папка1\%%a.txt /categories +componentsStorage /computer %%a
)

Видно, что ip-адреса берутся из файла ip-адреса.txt и в итоге формируются файлы в имени которого ip каждого ПК по пути D:\папка1\папка1 , после отработки msinfo32. все хорошо, да вот сформированный ip.txt с отчетом внутри, собирает абсолютно всю инфу о ПК, вплоть до возникших проблем в ОС, какие обновления стоят и т.д. размер получается порядка 1Мб и более, по-разному. да и по времени занимает немало учитывая количество компьютеров. требуется собрать только основные сведения по категориям: имя пк, модель мат.платы, процессор, жесткий диск, память, сеть. примерно так, но не все что только можно... подскажите, пожалуйста, как правильно указать в сценарии конкретные категории устройств для отчета и желательно, чтобы в имени сформированного файла было имя_ПК, вместо IP? как только не пробовал не получается. или возможно у кого есть другой скрипт (желательно VBS или bat) для таких целей. спасибо.

diagnoz_ 03-02-2017 09:23 2708552

делал так - msinfo32 /computer имя_ПК /report D:\имя_ПК.txt получаю имя_пк.txt, но файл со всем цифровым мусором внутри, все что только можно. пробовал получить справку с параметром msinfo32 /showcategories, /categories, /category , но мне средство msinfo32 просто собирает инфу о моем, локальном компьютере. получается, что msinfo32 игнорирует те компоненты которые я ей указываю для сбора.

Iska 03-02-2017 12:06 2708601

diagnoz_, смотрите в сторону Wbem. Это wmic.exe для командной строки, и ровно те же классы для использования посредством Automation в WSH/PoSH: Win32_ComputerSystem, Win32_Baseboard и т.д.

alpap 03-02-2017 13:59 2708629

Код:

@echo off
for /f "delims=" %%a in ('"wmic path Win32_OperatingSystem get Caption,CSDVersion,Version,BuildNumber,BuildType,OSArchitecture,RegisteredUser,SerialNumber,WindowsDirectory /value|find "^=""') do set "%%a"
for /f "delims=" %%a in ('"wmic path Win32_ComputerSystem get Manufacturer,Model,SystemType,TotalPhysicalMemory,UserName,Workgroup /value|find "^=""') do set "%%a"
for /f "delims=" %%a in ('"wmic path Win32_VideoController get VideoProcessor,CurrentHorizontalResolution,CurrentVerticalResolution,AdapterDACType,AdapterRAM /value|find "^=""') do set "%%a"
for /f "delims=" %%a in ('"wmic path Win32_SoundDevice get ProductName /value|find "^=""') do set "%%a"
for /f "delims=" %%a in ('"wmic path Win32_Processor get Name,NumberOfCores /value|find "^=""') do set "%%a"
for /f "delims=" %%a in ('"wmic path Win32_NetworkAdapter where NetConnectionStatus=2 get Description,NetConnectionID,Speed,MACAddress /value|find "^=""') do set "%%a"
>>"info.txt" (
 echo Система
 echo Название ОС:                  %Caption:~,-2%
 echo Версия ОС:                    %Version% %CSDVersion% сборка %BuildNumber%
 echo Тип ОС:                        %BuildType% ^(%OSArchitecture%^)
 echo Код продукта:                  %SerialNumber%
 echo Папка Windows:                %WindowsDirectory%
 echo Зарегистрированный владелец:  %RegisteredUser%
 echo Изготовитель системы:          %Manufacturer%
 echo Модель системы:                %Model%
 echo Тип системы:                  %SystemType%
 echo Системная память:              %TotalPhysicalMemory% МБ
 echo Тип ЦП:                        "%Name%"
 echo Число ядер:                    %NumberOfCores%
 echo Имя пользователя:              %UserName%
 echo Рабочая группа:                %Workgroup%
 echo.
 echo Видео
 echo Тип видеопроцессора:          "%VideoProcessor%"
 echo Разрешение монитора:          %CurrentHorizontalResolution%x%CurrentVerticalResolution%
 echo Тип DAC:                      %AdapterDACType%
 echo Объем видео ОЗУ:              %AdapterRAM%
 echo.
 echo Аудио
 echo Имя адаптера:                  %ProductName%
 echo.
 echo Сеть
 echo Сетевой адаптер:              %Description%
 echo Имя подключения:              %NetConnectionID%
 echo Скорость:                      %Speed%
 echo MAC адрес:                    %MACAddress%
)
exit


diagnoz_ 03-02-2017 14:43 2708648

Спасибо. запустил Ваш файл, показал инфу моего ПК, но без HDD. а вот на некоторых системах где стоит ХР, создает файл, а там пусто напротив всех категорий "железа".

Kazun 03-02-2017 15:48 2708661

Есть бесплатная замечательная утилита WinAudit с поддержкой командной строки.

Iska 03-02-2017 18:15 2708733

diagnoz_, Wbem — платформа. Если тот или иной производитель «забил» на поддержку оной целиком или частично — естественно, могут быть и пустые классы без экземпляров объектов, и отсутствующие свойства, и не реализованные методы.

P.S. Насчёт «всех категорий» — это перебор.


Время: 05:41.

Время: 05:41.
© OSzone.net 2001-