用脚本获取PC配置信息
管理企业PC的时候我们都会需要统计电脑配置信息,怎么能不用一个一个手动查看和记录来获取信息。我们可以写一个脚本按我们需要的样式自动获取信息,下发到各个使用者运行,然后可以统一回传到我们的文件服务器,即可完成自动获取所有PC信息的任务。
首先新建txt文档,复制下面代码,另存为get.bat
ps:我们的电脑经常有多个内存条的或者多个硬盘的,我们需要按需求合并计算或者单独计算,下面的代码内存是合并计算,硬盘是单独计算,使用时可以互相参考并更改。
@echo off & title 获取PC配置信息 by:IT运维强哥mode con cols=100 lines=32setlocal enabledelayedexpansionecho WScript.Echo Wscript.Arguments(0) / (1024 * 1024 * 1024)>Calculation.vbsecho 正在获取信息中……echo.::主板for /f "tokens=2 delims==" %%a in ('wmic csproduct get Name /value ^| findstr /i "Name"') do echo mainboard:%%a::CPUfor /f "tokens=2 delims==" %%a in ('wmic cpu get Name /value ^| findstr /i "Name"') do echo CPU:%%a::内存 按多条内存合并计算set mem=for /f "tokens=2 delims==" %%a in ('wmic memorychip get Capacity /value ^| findstr /i "Capacity"') do ( for /f "tokens=1 delims=." %%b in ('cscript /nologo Calculation.vbs "%%~a"') do ( set /a mem+=%%~b))echo 内存:%mem% GB::硬盘 按多块硬盘分开计算set ncount=0set disk1=disk2=for /f "tokens=2 delims==" %%a in ('wmic DiskDrive get Size /value ^| findstr /i "Size"') do ( ::echo %%a for /f "tokens=1 delims=." %%b in ('cscript /nologo Calculation.vbs "%%a"') do ( set /a ncount=!ncount!+1 echo 硬盘!ncount!:%%b GB set disk!ncount!=%%b GB ))::MACset ncount=0set mac1=mac2=for /f "tokens=2 delims=:" %%a in ('ipconfig /all^|find "物理地址"') do ( set /a ncount=!ncount!+1 echo MAC!ncount!:%%a set mac!ncount!=%%a)::IPset ncount=0set ip1=ip2=for /f "tokens=2 delims=:" %%a in ('ipconfig /all^|find "IPv4 地址"') do ( set /a ncount=!ncount!+1 echo IP!ncount!:%%a set ip!ncount!=%%a)del Calculation.vbsecho 内存:%mem% GB>>pc配置.txtecho 硬盘1:%disk1%>>pc配置.txtecho 硬盘2:%disk2%>>pc配置.txtecho .......添加需要收集的信息到pc配置.txtpause
![fb3f463e662d770291e6a22f0934f3b4.png](https://img-blog.csdnimg.cn/img_convert/fb3f463e662d770291e6a22f0934f3b4.png)
获取的PC配置信息
代码说明
setlocal enabledelayedexpansion
设置延迟变量,脚本中有for循环,循环中获取到的值后面循环外需要使用,所以加上这个
echo WScript.Echo Wscript.Arguments(0) / (1024 * 1024 * 1024)>Calculation.vbs
生成一个计算内存和硬盘大小的vbs脚本,因为直接获取的值不是GB,需要转换为我们常用的GB单位显示,后面使用完成后有一个删除脚本命令,del Calculation.vbs
for token delims findstr
用来从对应的信息中筛选我们需要的值
每一段获取的对应的信息都有注释,大家可以一段一段测试、运行、理解。