使用Vbscript读取带有机器名,用户名和密码(以逗号分隔)的CSV

时间:2018-07-12 17:20:52

标签: csv vbscript autologin computer-name

任务是首先在本地计算机上扫描有效的计算机名称(我已经完成了此操作),然后使用该计算机名称检查CSV以将“用户名”和“密码”部分通过管道传输到某个地方。

我的CSV内容如下:

COMPUTERNAME1,USERNAME1,PASSWORD1
COMPUTERNAME2,USERNAME2,PASSWORD2
COMPUTERNAME3,USERNAME3,PASSWORD3

因此,例如,如果VBS使用VBS检测到计算机名称:

Set wshShell = CreateObject( "WScript.Shell" )
strComputerName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )

..并且它检测到计算机名称为:COMPUTERNAME2

然后,VBS应该在CSV(即"strComputerName")中查找声明为"COMPUTERNAME2"的管道,并通过管道将与之关联的下两行用于USERNAME2PASSWORD2然后可以再次通过管道连接到自动登录脚本(我有),因此自动登录会将该计算机名与用户名和密码相关联。

目标是我们正在运行一个活动CSV,因此计算机列表将增加,因此只需检测相应的计算机名称即可。

1 个答案:

答案 0 :(得分:1)

您可以使用FSO to read a file

Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\FSO\ScriptLog.txt", ForReading)
 Do While objFile.AtEndOfStream = False
    strLine = objFile.ReadLine
    If computername = Split(strLine, ",")(0) Then
        'found a matching computer name
        username = Split(strLine, ",")(1)
        plaintextpasswordomg = Split(strLine, ",")(2)
    End If
 Loop
 objFile.Close
 Set objFile = Nothing
 Set objFSO = Nothing

它循环文件的每一行,然后测试计算机名并使用Split()捕获用户名/传递给变量,以使用逗号作为分隔符将行分成数组。