Компьютерный форум 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=314098)

Fantastish 21-04-2016 12:33 2628305

Батник - Опрос оборудования с пользовательских пк
 
Доброго дня. Снова обращаюсь за помощью.
Задача:
Есть список пк выгруженный из АД в текстовый файл построчно, таким образом:
Pc1
Pc2

Требуется получить с них данные: Net-bios имя, Тип и частота процессора , объем оперативной памяти
Далее свести все эти данные построчно в txt или csv для будущей обработки или анализа

Огромное спасибо.

NickM 21-04-2016 14:06 2628331

Fantastish, есть вот такой код

Код:

@Echo off
setlocal enableextensions enabledelayedexpansion

set cdtime=%date:~-10%
if not exist %~dp0\GetInfoYouPC md %~dp0\GetInfoYouPC
For /F "Delims=" %%I In (pc.list) Do (
Set cpcname=%%~I
set cfile=%~dp0\GetInfoYouPC\!cpcname!_%cdtime%.txt
For /F "Tokens=1,3* Delims=,:" %%A In ('WMIC /node:!cpcname! OS GET Caption^,CSDVersion /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do Call :_Func "%%A" "Операционная система:        %%B,%%C" "" !cfile!
For /F "Tokens=2,3* Delims=,:" %%A In ('WMIC /node:!cpcname! CPU GET socketdesignation^, Name^, MaxClockSpeed /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do Call :_Func "%%A" "Процессор:                %%C,%%B" "" !cfile!
For /F "Tokens=2,3* Delims=,:" %%A In ('WMIC /node:!cpcname! memorychip get banklabel^,capacity^,devicelocator /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .')  Do Call :_Func "%%A" "Оперативная память:        %%B,%%C" "" !cfile!
For /F "Tokens=2,3  Delims==:" %%A In ('WMIC /node:!cpcname! COMPUTERSYSTEM GET TotalPhysicalMemory /VALUE^|FindStr .^|FindStr /n .') Do Call :_Func "%%A" "Оперативная память(в):        %%B" "" !cfile!
For /F "Tokens=2,3* Delims=,:" %%A In ('WMIC /node:!cpcname! BASEBOARD GET Manufacturer^,Product /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do Call :_Func "%%A" "Материнская плата:        %%B,%%C" "" !cfile!
For /F "Tokens=2,3* Delims=,:" %%A In ('WMIC /node:!cpcname! path Win32_VideoController GET Name^,AdapterRAM /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do Call :_Func "%%A" "Видеокарта:                %%C,%%B" "" !cfile!
For /F "Tokens=2,3* Delims==:" %%A In ('WMIC /node:!cpcname! path Win32_VideoController GET VideoModeDescription /VALUE^|FindStr .^|FindStr /n .') Do Call :_Func "%%A" "Разрешение экрана:    %%C" "" !cfile!
For /F "Tokens=2,3* Delims=,:" %%A In ('WMIC /node:!cpcname! DISKDRIVE Where InterfaceType^=^'IDE^' GET Model^,Size /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do Call :_Func "%%A" "Жесткий диск:                %%B,%%C" "" !cfile!
For /F "Tokens=2,3* Delims==:" %%A In ('WMIC /node:!cpcname! path Win32_CDROMDrive GET Name /VALUE^|FindStr .^|FindStr /n .') Do Call :_Func "%%A" "Привод:                        %%B" "" !cfile!
For /F "Tokens=2,3* Delims==:" %%A In ('WMIC /node:!cpcname! path Win32_NetworkAdapter Where ^"AdapterTypeId^=0 And NetConnectionStatus^=2^" GET Name /VALUE^|FindStr .^|FindStr /n .') Do Call :_Func "%%A" "Сетевая карта:                %%B" "" !cfile!
For /F "Tokens=2,3* Delims==:" %%A In ('WMIC /node:!cpcname! path Win32_SoundDevice GET Name /VALUE^|FindStr .^|FindStr /n .') Do Call :_Func "%%A" "Звуковая карта:                %%B" "" !cfile!
For /F "Tokens=2,3* Delims==:" %%A In ('WMIC /node:!cpcname! product get name /VALUE^|FindStr .^|FindStr /n .') Do Call :_Func "%%A" "Установленное ПО:      %%B" "" !cfile!
)
GoTo :EOF
:_Func
        CHCP 1251 1>nul
        If %~1 EQU 1 Echo.%~2 >%4
        If %~1 GTR 1 Echo.%~2 >>%4
        CHCP 866 >nul

имена компьютеров в pc.list.
Результат - папка с файлами GetInfoYouPC

Может окажется полезным.

Fantastish 21-04-2016 15:01 2628347

А в pc.list компы по какому формату указаны? - вопрос снял
как можно подправить вывод информации?
Скрытый текст
+яхЁрЎшюээр* ёшёЄхьр: Microsoft Windows 7 Профессиональная ,Service Pack 1
¦ЁюЎхёёюЁ: Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz,SOCKET 0,3301

в скрипте вроде как указано, а отработало у меня криво
Спасибо


Время: 10:56.

Время: 10:56.
© OSzone.net 2001-