Hi All,
My task: Create VB script to accept PC names from a text file, process each host name to get Registry key value of individual host name and finally export them to a text file or an excel sheet having registry key value against each pc.
I want to pull key value of LSFORCEHOST located in HKCU/Environment of each PC and export this value against each pc in a text or Excel file.
What I achieved: I am able to process against single pc name but failed to process 3000+ systems listed in a text file which I tried to process through VB script. I am not pro and learning the VBS and cant write complex code.
My VBS code written so far(It failed many time with issue):
Option Explicit
Const HKEY_CURRENT_USER = &H80000001
Dim oFSO, sFile, oFile, sText, strComputer,oReg, strKeyPath, strValueName, strValue, objFSO, objFile, strContents
Set oFSO = CreateObject("Scripting.FileSystemObject")
sFile = "test.txt"
If oFSO.FileExists(sFile) Then
Set oFile = oFSO.OpenTextFile(sFile, 1)
Do While Not oFile.AtEndOfStream
sText = oFile.ReadLine
If Trim(sText) <> "" Then
strComputer = sText
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default:StdRegProv")
strKeyPath = "Environment"
strValueName = "LSFORCEHOST"
oReg.GetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue
Const ForReading = 1
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\destination.txt",1, ForReading)
strContents = strValue
Set objFile = objFSO.OpenTextFile("C:\destination.txt",2, ForWriting)
objFile.Write strContents
objFile.Close
End If
Loop
oFile.Close
End If
I think when I tried to process each PC name from text file against registry key value, above code not working. As per my knowledge some issue in loop. Do I need to add FOR EACH feature?
Please help to correct it. Thanks in advance.