我是一名 IT 人员,我需要做的是以某种方式收集以下信息:
- 戴尔服务标签
- 计算机名称
- 用户名
我网络中的所有用户,然后将该信息分类到文本或 Excel 文件中。
我尝试过使用 VBS 文件,以及为每个用户创建一个 .bat 文件登录脚本,但我似乎并没有让它完全工作。
我是一名 IT 人员,我需要做的是以某种方式收集以下信息:
我网络中的所有用户,然后将该信息分类到文本或 Excel 文件中。
我尝试过使用 VBS 文件,以及为每个用户创建一个 .bat 文件登录脚本,但我似乎并没有让它完全工作。
这是给出您所要求的代码的代码,但将来请尽可能少地发布您所拥有的代码。
'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