SoFunction
Updated on 2025-04-08

Code to check access rights of registry keys with vbs

const KEY_QUERY_VALUE = &H0001
const KEY_SET_VALUE = &H0002
const KEY_CREATE_SUB_KEY = &H0004
const DELETE = &H00010000
const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set StdOut = 
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_ 
strComputer & "\root\default:StdRegProv")
strKeyPath = "SYSTEM\CurrentControlSet"
 HKEY_LOCAL_MACHINE, strKeyPath, KEY_QUERY_VALUE, bHasAccessRight
If bHasAccessRight = True Then
     "Have Query Value Access Rights on Key"
Else
     "Do Not Have Query Value Access Rights on Key"
End If  
 HKEY_LOCAL_MACHINE, strKeyPath, KEY_SET_VALUE, bHasAccessRight
If bHasAccessRight = True Then
     "Have Set Value Access Rights on Key"
Else
     "Do Not Have Set Value Access Rights on Key"
End If  
 HKEY_LOCAL_MACHINE, strKeyPath, KEY_CREATE_SUB_KEY, bHasAccessRight
If bHasAccessRight = True Then
     "Have Create SubKey Access Rights on Key"
Else
     "Do Not Have Create SubKey Access Rights on Key"
End If
 HKEY_LOCAL_MACHINE, strKeyPath, DELETE, bHasAccessRight
If bHasAccessRight = True Then
     "Have Delete Access Rights on Key"
Else
     "Do Not Have Delete Access Rights on Key"
End If