我如何收集特定的计算机信息并将其分类到文件中?

时间:2012-06-14 21:29:09

标签: database vbscript batch-file

我是一个IT人员,我需要做的是以某种方式收集以下信息:

  • 戴尔服务标签
  • 计算机名称
  • 用户名

我网络中的所有用户,然后将该信息分类为文本或Excel文件。

我尝试过使用VBS文件,并为每个用户创建一个.bat文件登录脚本,但我似乎并没有让它完全正常工作。

1 个答案:

答案 0 :(得分:2)

以下代码提供了您的要求,但将来请发布您的代码,尽可能少。

'Get Dell Service Tag Info
set ProSet = GetObject("winmgmts:").InstancesOf("Win32_BIOS")
Set ProSet1 = GetObject("winmgmts:").InstancesOf("Win32_SystemEnclosure")
For each Pro in ProSet
  For each Pro1 in ProSet1
    ServiceTag=Pro.SerialNumber
    wscript.echo ServiceTag
    exit for
  Next
  exit for
Next

'get username and computername, could also be asked in a batch
Set oShell     = WScript.CreateObject("WScript.Shell")
Set oShellEnv  = oShell.Environment("Process")
sComputerName  = oShellEnv("ComputerName")
sUsername      = oShellEnv("username")
wscript.echo sComputerName & " " & sUsername

另一种更可靠的方式..

Set objWSHNetwork  = CreateObject ("WScript.Network") 
sComputerName = objWSHNetwork.ComputerName
sUsername     = objWSHNetwork.UserName
wscript.echo sComputerName & " " & sUsername

您可以将结果记录到数据库或文本文件中(Excel文件不是一个好主意我已经读过) 这是一个文本文件的日志记录过程,可以稍后用Excel打开。

sub log (user, computer)
  dim fs,f
  set fs=Server.CreateObject("Scripting.FileSystemObject")
  set f=fs.OpenTextFile(Server.MapPath(".\logging.csv"),8,true)
  f.WriteLine now & "," & user & "," & computer
  f.Close:set f=Nothing
  set fs=Nothing
end sub