VBscript to list all Remote Desktop User in Registry
I am new to VBscript and trying to create a script to list all Remote Desktop User in Registry...
The below script works but it overwrites each Remote Desktop User and shows only last user in the registry...
Could you please help to get all users in one key (separated by , ,)
For e.g
HKEY_CURRENT_USER\MFS\RDUsers\LocalAdmin = User1,User2,User3.....
Thanks
Dim wshShell, LogPath1, objFSO, objFile, TextFile
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set wshShell = CreateObject( "WScript.Shell" )
Set objNetwork = CreateObject("WScript.Network")
strComputer = objNetwork.ComputerName
strUser = objNetwork.UserName
strGroup = "Remote Desktop Users"
Set objFile = objFSO.CreateTextFile(TextFile,True)
Set objGroup = GetObject("WinNT://" & strComputer & "/" & strGroup & ",group")
for each objMember In objGroup.Members
Set objGroup = GetObject("WinNT://" & strComputer & "/" & strGroup & ",group")
wshShell.RegWrite "HKEY_CURRENT_USER\MFS\RDUsers\LocalAdmin", objMember.Name , "REG_SZ"
Next
Answers (1)
I'm not going to do the work for you but I will prompt your thought process.
Delete the second 'Set objGroup...' line, it's just repeating the one 2 lines above it.
Then think about what's happening in the 'For Each...' loop., when the .RegWrite executes.
Next, use either an array or a dictionary - whch ever you're more comfortable with - to hold the results as the loop runs and THEN do the .RegWrite.
Lastly, I appreciate this is only a shell but you must, must, MUST error-trap EVERYTHING! Assume that NOTHING will work. For example, did the objFSO object get created? Having said that, endless pages of "if Err.Number <> 0 Then..." gets very tedious so have a search for the excellent BugAssert code and add that to your scriots.