域环境下电脑硬件信息统计的解决方案

工具可以提高工作效率,但常常需要人为的干预

下面是两种硬件统计的解决方案

方法一:

收集域用户在线状态,使用的计算机,IP地址,域计算机安装的软件,补丁等

软件包见附件software

新建Computer数据库,在数据库中新建3张表

UserInfo表
ComputerInfo表
HardWare表

表的结构:
UserInfo表:
列:UserName   (nvarchar 50)
      Computer    (nvarchar 50)
      ComputerIP (nvarchar 50)
      UserState    (nvarchar 50)
      ChangeTime (nvarchar 50)

ComputerInfo表:
列:
    ComputerName (nvarchar 100)
      IPAddress          (nvarchar 50)
      MacAddress       (nvarchar 50)
      ComputerTime   (nvarchar 50)

HardWare表:
列:
   Computer    (nvarchar 100)
    UserName   (nvarchar 50)
    CheckTime   (nvarchar 50)
    System        (nvarchar 100)
    Cpu             (nvarchar 100)
    MainBoard   (nvarchar 100)
    Memory       (nvarchar 100)
    Video           (nvarchar 100)
    HardDisk     (nvarchar 100)
    HDPart        (nvarchar 100)
    Sound         (nvarchar 100)
    NetCard      (nvarchar 200)
    CDROM        (nvarchar 100)

效果界面

 

 

DBconn.Open"driver={sql server};Server=OKSERVER\OKHELPER;Database=Computer;uid=sa;pwd=sa;"
 

其中server=okserver\okhelper,指的是服务器名\实例名,如果是默认实例,直接写server=servername 或者ip即可。

注意里面的登录脚本和注销脚本中实例名也要改。

个人测试结果

能收集到大部分的硬件信息,可以利用数据库进行二次改造

bug:

如果用户A在A01计算机上登录,接着用户A在B01计算机上登录,那么程序用户名就会只显示用户A在B01计算机上登录在线,如果几个人采用的公共用户名就会只显示最后登录的那个;
在win7计算机中IP显示是IPv6的形式;
软件信息采集的不全;
如果计算机名是数字开头登录脚本就会出现运行错误;
 

大家可以参考以下内容

http://bbs.winos.cn/thread-60366-1-1.html

方法二 利用everest 企业版实现硬件统计

首先下载everest企业版,安装sql server 数据库,验证方式选择混合验证

数据库提供者 ms sql server(sqloledb)

服务器:选择自己的服务器

输入用户名和密码之后测试成功

将everest软件的安装目录隐藏共享

在安装目录下新建脚本run.bat

rem 禁止打开网络文件安全提示框

REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3" /v 1806 /t REG_DWORD /d 0x00000000 /f

"\\192.168.1.88\everest\everest.exe" /R /database /SUM /SILENT /SAFE /NOLICENSE

注意:unc路径改写自己的共享路径

用组策略分发该用户登录脚本run.bat即可。

个人测试结果

能搜到大部分计算机的信息,搜集的计算机不全,具体还在测试中,想对其二次开发整成excel表的分类统计信息比较麻烦。

大家可以参考以下信息

http://renyudi.blog.51cto.com/544938/455142

 

 

你可能感兴趣的:(脚本,域,everest,资产,硬件统计)