利用aida64批量检测计算机硬件配置信息

使用aida64实现批量统计、监测固定资产信息。


利用aida64批量检测计算机硬件配置信息_第1张图片
软件信息

共享权限设置

aida64目录

将aida64的软件目录共享出来,并给这个文件夹设置可读取权限。


利用aida64批量检测计算机硬件配置信息_第2张图片
软件目录权限

数据库目录

  1. 新建一个文件夹【Hareware】, 给该文件夹设置所有用户可读写权限
  2. aida64\Sql_Schema\DB - Access.mdb复制到该目录下
    利用aida64批量检测计算机硬件配置信息_第3张图片
    数据库目录权限

软件设置

  1. 打开aida64.exe程序
  2. 依次点击菜单栏的【文件】-【设置】
  3. 在数据库设置的地方将地址改为刚才共享的地址,并测试通过
  4. 在系统摘要设置的地方选取需要检测的条目
  5. 在警告设置的地方,配置警告方式。我用的是保存为HTML文件,这样当有硬件变动的时候就会将信息保存到制定的HTML文件方便查看。
  6. 配置警告触发器中需要的条目


    利用aida64批量检测计算机硬件配置信息_第4张图片
    数据库设置

组策略设置

设置一个登录脚本的组策略,并链接到需要检测的组


利用aida64批量检测计算机硬件配置信息_第5张图片
登录脚本

脚本内容:

CreateObject("WScript.Shell").Run "cmd /c \\172.16.12.6\aida64\aida64.bat",0

目的是为了静默运行一个批处理脚本。

脚本设置

在aida64目录下面新建一个aida64.bat的批处理文件,内容为:

\\172.16.12.6\aida64\aida64.exe /r /database /sum /silent /safe

可在【帮助】-【命令行选项(M)】中查看所需的命令以及功能。

查看配置

依次点击菜单栏的【文件】-【数据库管理器】即可查看到各电脑的详细配置信息了。


利用aida64批量检测计算机硬件配置信息_第6张图片
查看配置

存在的问题

  • 有的信息需要管理员权限才能检测出来,所以可能还需要给刚才的bat脚本文件用管理员的权限去运行。
  • 命令行脚本中的/safe该参数可能导致无法检测出内存的SPD情况。

问题的解决方案

  1. 用Lsrunase调用管理员权限运行命令
lsrunase.exe /user:muchuan /password:p@ssw0rd /domain:sh /command:"cmd /c ""\\172.16.12.6\aida64\aida64.exe /r /database /sum /silent" "" /runpath:c:\

这里的命令要通过加载cmd再调用后门的命令才能正常运行,不然在win7系统中会提示无权限。缺点是会有一个运行窗口。语法是通过cmd /?提示去写的。
该方法可以通过VBA脚本调用bat脚本实现隐藏窗口的功能。

  1. 用Lsrunase.exe调用另外一个脚本文件,并加入隐藏窗口的语句。
lsrunase.exe /user:muchuan /password:p@ssw0rd /domain:sh /command:"E:\aida64.bat" /runpath:c:\

我的使用方法是:

  • 组策略启动脚本中建立一个脚本,内容如下:
@echo off
REM 磁盘映射
If not exist z: (net use z: \\sh-打印机\扫描)
REM 同步时间
\\172.16.12.6\software\lsrunase.exe /user:muchuan /password:p@ssw0rd /domain:sh /command:"net time \\172.16.12.160 /set /yes" /runpath:c:\
REM 硬件统计
copy /y \\172.16.12.6\software\Aida64.txt "%TEMP%\Aida64.bat"
\\172.16.12.6\software\lsrunase.exe /user:muchuan /password:p@ssw0rd /domain:sh /command:"%TEMP%\Aida64.bat" /runpath:c:\

这里有一些我的其他命令一并加入到了启动脚本中,映射虚拟硬盘,和通过命令同步时间。

  • 启动脚本中提到的Aida64.txt的内容如下:
@echo off 
if "%1"=="h" goto begin 
start mshta vbscript:createobject("wscript.shell").run("""%~fx0"" h",0)(window.close)&&exit 
:begin
\\172.16.12.6\aida64\aida64.exe /r /database /sum /silent
del /q %0

这样做的目的是将需要权限运行的命令脚本,放到本地的E盘,然后在执行这个脚本。因为win7系统如果直接运行网络中的脚本,会弹出一个确认窗口,而运行本机的脚本不会有提示。
另外在脚本的前面加入了隐藏自身窗口的语句,以免脚本执行过程中被误关闭。

报表处理

这个软件没有提供统计报表之类的功能,所以我们只能通过读取它数据库中的内容,然后自己制作。我是通过Excel读取数据库,然后通过函数公式完成了一个数据报表,效果如下图所示:


利用aida64批量检测计算机硬件配置信息_第7张图片
统计表结果

步骤:

  1. 通过高级筛选,得出不重复的RID;
  2. 通过多条件查找得出各IID的内容:
    计算机名称:
=LOOKUP(1,0/(('1'!$I$1:$I$3000=$A3)*('1'!$H$1:$H$3000=B$2)),'1'!$F$1:$F$3000)

CPU公式一样,CPU整理的公式为(公司只有Inter):

=REPLACE(SUBSTITUTE(C3,"DualCore Intel",""),FIND(",",SUBSTITUTE(C3,"DualCore Intel",),1),FIND(")",SUBSTITUTE(C3,"DualCore Intel",),1)-FIND(",",SUBSTITUTE(C3,"DualCore Intel",),1)+1,"")

内存1的公式(数组公式):

{=VLOOKUP($A3&F$2,IF({1,0},'1'!$I$1:$I$3000&'1'!$H$1:$H$3000,'1'!$F$1:$F$3000),2,0)}

内存2的公式:

=IF(H3="","",LOOKUP(1,0/(('1'!$I$1:$I$3000=$A3)*('1'!$H$1:$H$3000=I$2)),'1'!$F$1:$F$3000))

区别是,第一个公式获取到的是相同值中的第一个,第二个则是获取相同值中的最后一个
内存整理的公式:

=MID(E3,8,FIND(" ",E3,11)-7)&LEFT(F3,14)

硬盘获取的公式与内存获取的公式差不多。硬盘整理的公式为(数组公式):

{=LEFT(K3,2)&" "&MID(K3,FIND("(",K3,1)+1,6)&" "&MID(K3,COUNT(FIND(" ",K3,ROW($A$1:$A$199)))+1,FIND(")",K3,1)-COUNT(FIND(" ",K3,ROW($A$1:$A$199)))-1)}

其他的项目跟CPU都是一样的了。整理的目的是为了报表看上去更直观清爽。至此整个收集、监测、报表功能全部完成。

lsrunase
百度网盘
提取码:cqj9

你可能感兴趣的:(利用aida64批量检测计算机硬件配置信息)