How to change Registry Permissions with RegIni.exe (VBScript)

Today I'll show how we can set the following permissions on a registry key with RegIni.exe and a VBScript: Creator Owner Full Control Users Full Control Power Users Full Control Administrators Full Control System Full Control I will set the permissions here for testing purposes: - HKEY_CLASSES_ROOT\AlejaCMaTypelib- HKEY_LOCAL_MACHINE\Software\AlejaCMaCo\AlejaCMaAppAnd for that I will need to create […]

Today I'll show how we can set the following permissions on a registry key with RegIni.exe and a VBScript:

  • Creator Owner Full Control
  • Users Full Control
  • Power Users Full Control
  • Administrators Full Control
  • System Full Control

I will set the permissions here for testing purposes:

- HKEY_CLASSES_ROOT\AlejaCMaTypelib
- HKEY_LOCAL_MACHINE\Software\AlejaCMaCo\AlejaCMaApp

And for that I will need to create a special regini.exe script which will have the following contents:

 
HKEY_LOCAL_MACHINE\Software\Classes\AlejaCMaTypelib [1 5 7 11 17]
HKEY_LOCAL_MACHINE\Software\AlejaCMaCo\AlejaCMaApp [1 5 7 11 17]


Notes:
- With regini.exe I won't be able to set Users Full Control, but Everyone Full Control.
- HKEY_CLASSES_ROOT = HKEY_LOCAL_MACHINE\Software\Classes

See the following articles for details on the values used in the regini script:
- How to Use Regini.exe to Set Permissions on Registry Keys
- How to: Use a Script to Change Registry Permissions from the Command Line

And here you have the VBScript that will use regini.exe and its script:

 

' Create temp file with the script that regini.exe will use
'
set oFSO = CreateObject("Scripting.FileSystemObject")
strFileName = oFSO.GetTempName
set oFile = oFSO.CreateTextFile(strFileName)
oFile.WriteLine "HKEY_LOCAL_MACHINE\Software\Classes\AlejaCMaTypelib [1 5 7 11 17]"
oFile.WriteLine "HKEY_LOCAL_MACHINE\Software\AlejaCMaCo\AlejaCMaApp [1 5 7 11 17]"
oFile.Close

' Change registry permissions with regini.exe
'
set oShell = CreateObject("WScript.Shell")
oShell.Run "regini " & strFileName, 8, true

' Delete temp file
'
oFSO.DeleteFile strFileName

WScript.Echo "Done!"

Source:→ MSDN

Windows, Windows Registry, VBScript, Tips, Tricks, Tips and Tricks