任务是首先在本地计算机上扫描有效的计算机名称(我已经完成了此操作),然后使用该计算机名称检查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"
的管道,并通过管道将与之关联的下两行用于USERNAME2
,PASSWORD2
然后可以再次通过管道连接到自动登录脚本(我有),因此自动登录会将该计算机名与用户名和密码相关联。
目标是我们正在运行一个活动CSV,因此计算机列表将增加,因此只需检测相应的计算机名称即可。
答案 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()
捕获用户名/传递给变量,以使用逗号作为分隔符将行分成数组。