csv - 使用 Vbscript 读取包含机器名称、用户名、密码(以逗号分隔)的 CSV
问题描述
任务是首先扫描本地计算机以查找有效的计算机名称(我已经完成),然后使用该计算机名称检查 CSV 以在某处通过管道传输用户名和密码部分。
我的 CSV 内容如下:
COMPUTERNAME1,USERNAME1,PASSWORD1
COMPUTERNAME2,USERNAME2,PASSWORD2
COMPUTERNAME3,USERNAME3,PASSWORD3
因此,例如,如果 VBS 使用 VBS 检测计算机名称:
Set wshShell = CreateObject( "WScript.Shell" )
strComputerName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )
..它检测到计算机名称被称为:COMPUTERNAME2
然后 VBS 应该查找"strComputerName"
在 CSV 中声明的内容(即"COMPUTERNAME2"
)并将关联的下两行USERNAME2
传递PASSWORD2
给和密码。
目标是我们正在运行一个活动的 CSV,因此机器列表会增加,因此只需检测适当的计算机名称即可。
解决方案
您可以使用FSO 读取文件:
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()
,使用逗号作为分隔符将行拆分为数组。
推荐阅读
- java - 用超类引用创建对象和用子类引用创建对象有什么区别?
- c - 为什么 malloc 在我达到某个阈值之前不分配内存?
- core-data - 同项 SwiftUI 列表
- swift - 如何在 iOS 中获取用户的本地通知设置?
- html - 跨页面拉伸的导航按钮元素
- vb.net - 使用带有 VB.Net 的 PDFSHArp 向 PDF 文件添加水印
- android - 通过 Firebase UI 使用 Firebase 测试实验室电话身份验证
- sql - postgresql中的循环顺序
- python - 如何将 uint8 numpy 数组写入压缩文件?
- reactjs - 状态未通过 useState 更新