让网管更轻松——用systeminfo远程收集系统信息
数字办公
你有没有想过登记一下局域网内所有计算机的CPU是什么?内存有多大?硬盘有多大?网卡是什么?是的,也许你已经一台一台地去登记了,实际上,你根本用不着到每台客户机前去手动查询并记录各项配件信息。如果只要求简单的信息,完全可以使用systeminfo命令来收集,只要几步,你整个局域网内电脑的配置信息就掌握在你手中了。
systeminfo命令可以运行在Windows XP以上的系统上,而且它还能够远程收集Windows 2000计算机的系统信息,下面假设你的局域网内全是Windows 2000以上的计算机。
小知识:systeminfo命令
systeminfo [/S system [/U user name [/P [password] ] ] ] [/FO format] [/NH]
systeminfo命令允许管理员查询基本系统配置信息。
参数解释:
/S system 指定连接到的远程系统;
/U [domain/]luser 指定应该在哪个用户上下文执行命令;
/P [password] 为提供的用户上下文指定密码;
/FO 指定显示结果的格式,有效值:“TABLE”、“LIST”、“CSV”;
/NH 指定“Column Header”不应该在结果中显示,只对TABLE和CSV格式有效。
1.你在一台Windows XP的计算机上运行systeminfo命令,首先使用systeminfo命令将当前计算机的系统信息输出到一个CSV文件,这次使用systeminfo命令的主要作用是创建各项系统信息的标题行,而之后其他计算机的系统信息也将导入这个CSV文件中,但此时将不再需要导入标题了,所以必须先初始化一个CSV文件以创建好标题行,在命令提示符窗口中输入如下命令:
systeminfo /fo csv > c:\sysin fo.csv
这将把本机的系统信息导出到C盘下的sysinfo.csv文件中,见图1。

2.在C盘下创建一个包含所有局域网计算机IP的列表文件list.txt,由于第一步已经获得了本机的系统信息,所以这里不必包括本机IP了,如图2。

3.然后在命令提示符窗口中使用下面的命令获取各台计算机的系统信息:
for /f %a in (c:\list.txt) do (sys teminfo /s %a /u fzz\sakura /p pwd /fo csv /nh >> c:\sysinfo.csv)
这个for命令从上面的list.txt文件中取得计算机IP列表,然后依次到相应的计算机中去获取系统信息,其中/u fzz\sakura是指使用的账户,如果是域,通常就使用域的管理员账户,这样才能顺利地从远程系统获得系统信息,不然是没有访问权限的,如果是工作组环境,这个就是对方计算机的管理员帐号,/p后面是前面账户的密码,我们把结果重定向到sysinfo.csv文件中,注意这里用的是>>符号。当你使用上面的命令时,你可以在命令提示符窗口清楚地看到哪些计算机的系统信息收集成功了。
4.由于systeminfo命令输出的信息相当丰富,而我们通常可能只关心计算机名、操作系统、CPU、内存多大等,所以我们把这些相关列简单地按列拷贝到一个新的文件中就能得到我们最终需要的信息收集文档。
编后:令人遗憾的是systeminfo不能输出磁盘的信息,在Windows 2003 Resource Kit tools中有一个工具srvinfo可以输出硬盘的信息,比如有几个分区及大小等,你可以把它与systeminfo结合起来使用。