0

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

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

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

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

4

1 回答 1

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
于 2012-06-15T08:58:49.133 回答