Довольно часто нужно быстро, кратко, но информативно получить информацию о стационарном компьютере или ноутбуке, без дополнительного ПО и не «вскрывая крышку».

Скрипт не собирает все данные о ПК — для этого существует множество специализированного ПО!

Он предназначен лишь получить общую информацию, например:

— «Привет! Мой комп стал сильно тормозить и не тянет новые программы… Посоветуй, как можно модернизировать его?!».

Минимальный набор данных о «железе» это:

  • процессор;
  • материнская плата;
  • ОЗУ;
  • жесткий диск.

Минимальный набор данных об ОС это:

  • имя ПК;
  • IP-адрес активного сетевого подключения;
  • имя активного пользователя.

Один из вариантов — средствами ОС Windows, используя командную строку.

Создаем bat-файл:

@echo off
:имя файла для записи информации
set fname=pcinfo.txt
:имя компьютера
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%
))