usuing vbs how can i read a binary reg value from the HKEY_USERS registry and rename the key so that i can import different keys?

Posted on 2008-10-07
Last Modified: 2013-11-13
Morning, I am looking to pin icons to the desktop for 10,000+ users as part of the office 2007 roll out, currently office icons are built in to the standard image build which will be removed at the end of the year, i have found the registry keys that contain the settings for every user profile on the machine under HKEY_USERS, i would normally add the registry key import to the logon script but as we are doing a stagered roleout of office i thought a wsh/vbs script may do the trick.

I have a script that installed office 2007 and then adds additional reg keys however it will not add them to every users profile on the machine so i was hoping to write something that would loop though all they sid's and add the keys how ever when i have tried i am able to read the first key and store that as a variable but when i try to output it to another key to create a backup before i go ahead and change keys i get a data mismatch.

Is there a way to read and write binary reg keys in a script that will loop through all the sid's and change the keys or do i need to come up with a different approach?
Set Shell = CreateObject("WScript.Shell")

arr = Shell.RegRead("HKEY_USERS\S-1-5-21-1008850429-2325668040-1177597070-84490\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage\favorites")



For I = LBound(arr) To UBound(arr)

a(I) = CInt(arr(I))

b(I) = Hex (CInt(arr(I)))


Wscript.Echo "The registry key name's decimal value is", Join(a),",", "the hex value is", Join(b),"."

msgbox Join(a),,"The decimal value is"

msgbox Join(b),,"The hexadecimal value is"

Open in new window

Question by:mdlister
  • 2

Author Comment

ID: 22657856
ok so i have been doing some work on this and so far have found a few examples of how to get this done envolving taking the key and creating a temp reg key then importing it to the machine here is the code, does anyone know how to get it to loop through all the HKEY_USERS Sid's that arent system accounts and apply the key?
Const st_TEMPFILE = "temp.reg"

'Dems the dims

Dim key 

Dim oFS

Dim txtStream

Dim strComputer

Dim WSHShell

'Set WSH

Set WSHShell = WScript.CreateObject("WScript.Shell")

Set Shell = CreateObject("WScript.Shell")

arr = Shell.RegRead("HKEY_USERS\S-1-5-21-1008850429-2325668040-1177597070-84490\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage\favorites")

a = arr

For I = LBound(arr) To UBound(arr)

a(I) = Hex (CInt(arr(I))) + ","

If a(I) = "0" Then

a(I) = "00,"

End if


'Create the temporary reg file

Set oFS = CreateObject("Scripting.FileSystemObject")

Set txtStream = oFS.CreateTextFile(st_TEMPFILE,true)

txtStream.WriteLine("Windows Registry Editor Version 5.00")


txtStream.WriteLine("[HKEY_LOCAL_MACHINE\SOFTWARE\Description\Microsoft\RPCUUID Temporary Data]")

txtStream.WriteLine("@=" & Chr(34) & Chr(34))

txtStream.WriteLine(chr(34) & "BackupKey" & chr(34) & "=" & "hex:" & Join(a,""))


'Execute regedit /s (silent) against the temporary .reg file

WshShell.Run "regedit " & st_TEMPFILE, 1, true

Set WshShell = Nothing

'Delete the temporary .reg file (If you want it to remain for your review comment out the follwoing line)

oFS.DeleteFile st_TEMPFILE

Set oFS = Nothing

'Echo to let me know we've reached the end of the script, and then a Quit

WScript.Echo("Process Complete")


Open in new window


Accepted Solution

mdlister earned 0 total points
ID: 22659201
right ok i have managed to get the script to do what i want and write the binary reg keys but how would i loop it through the SID's?

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

5 Tips For Long Jumpers: A Sprinter's Approach to Agile Software Development As a Sprinter, long jumping — applying momentum to progress by leaps and bounds — is a natural and complementary skill. In the following article, I will share my five ti…
Over the years I have built up my own little library of code snippets that I refer to when programming or writing a script.  Many of these have come from the web or adaptations from snippets I find on the Web.  Periodically I add to them when I come…
It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

759 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now