Довольно часто нужно быстро, кратко, но информативно получить информацию о стационарном компьютере или ноутбуке, без дополнительного ПО и не «вскрывая крышку».
Скрипт не собирает все данные о ПК — для этого существует множество специализированного ПО!
Он предназначен лишь получить общую информацию, например:
— «Привет! Мой комп стал сильно тормозить и не тянет новые программы… Посоветуй, как можно модернизировать его?!».
Минимальный набор данных о «железе» это:
— процессор;
— материнская плата;
— ОЗУ;
— жесткий диск.
Минимальный набор данных об ОС это:
— имя ПК;
— IP-адрес активного сетевого подключения;
— имя активного пользователя.
Один из вариантов — средствами ОС Windows, используя командную строку.
Создаем bat-файл:
@echo off :имя файла для записи информации set fname=pcinfo.txt :устанавливаем кодовую страницу, соответствующую DOS-кодировке chcp 866 :имя компьютера Echo pcname: %computername% >>%fname% :IP-адрес компьютера по его имени FOR /F "usebackq tokens=2 delims=[]" %%i IN (`ping %Computername% -n 1 -4`) DO if not "%%i"=="" Set ip=%%i Echo IP %computername%: %ip% >>%fname% :имя активного пользователя Echo username: %username% >>%fname% :модель ноутбука set cmd=wmic computersystem get model for /f "skip=1 delims=" %%Z in ('%cmd%') do ( set _pn=%%Z GOTO BREAK1 ) :BREAK1 echo CS Model: %_pn% >>%fname% :процессор set cmd=wmic cpu get name for /f "skip=1 delims=" %%Z in ('%cmd%') do ( set _cpu=%%Z GOTO BREAK1 ) :BREAK1 echo CPU: %_cpu% >>%fname% :материнская плата set cmd=wmic baseboard get product for /f "skip=1 delims=" %%Z in ('%cmd%') do ( set _mb=%%Z GOTO BREAK2 ) :BREAK2 echo MB: %_mb% >>%fname% :оперативная память SETLOCAL ENABLEDELAYEDEXPANSION set mmr=0 for /f "skip=1 delims=" %%i in ('WMIC MemoryChip get BankLabel^,DeviceLocator^,PartNumber^,Speed^,Capacity') do ( for /f "tokens=1-5 delims=" %%A in ("%%i") do ( set BnkLbl=%%A set /a mmr=!mmr!+1 set BnkLbl=!BnkLbl:BANK 22=DDR2 FB-DIMM! set BnkLbl=!BnkLbl:BANK 21=DDR2! set BnkLbl=!BnkLbl:BANK 24=DDR3! set BnkLbl=!BnkLbl:BANK 0=DDR4! echo Memory !mmr!: !BnkLbl! >>%fname% )) :жесткие диски SETLOCAL ENABLEDELAYEDEXPANSION set mmr=0 for /f "skip=1 delims=" %%i in ('wmic diskdrive get model^,size') do ( for /f "tokens=1-2 delims=" %%A in ("%%i") do ( set HDDLbl=%%A set /a mmr=!mmr!+1 echo HDD !mmr!: !HDDLbl! >>%fname% ))
ссылка на оригинал статьи https://habr.com/ru/post/496710/
Добавить комментарий