首页 > 编程 > VBScript > 正文

用vbs检查注册表项的访问权限的代码

2020-06-26 18:13:40
字体:
来源:转载
供稿:网友
有时候我们需要知道我们是否对注册表有访问权限,下面的代码就是解决了这个问题,检查下是否能用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 = WScript.StdOut 
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!//" &_  
strComputer & "/root/default:StdRegProv") 
strKeyPath = "SYSTEM/CurrentControlSet" 
oReg.CheckAccess HKEY_LOCAL_MACHINE, strKeyPath, KEY_QUERY_VALUE, bHasAccessRight 
If bHasAccessRight = True Then 
    StdOut.WriteLine "Have Query Value Access Rights on Key" 
Else 
    StdOut.WriteLine "Do Not Have Query Value Access Rights on Key" 
End If   
oReg.CheckAccess HKEY_LOCAL_MACHINE, strKeyPath, KEY_SET_VALUE, bHasAccessRight 
If bHasAccessRight = True Then 
    StdOut.WriteLine "Have Set Value Access Rights on Key" 
Else 
    StdOut.WriteLine "Do Not Have Set Value Access Rights on Key" 
End If   
oReg.CheckAccess HKEY_LOCAL_MACHINE, strKeyPath, KEY_CREATE_SUB_KEY, bHasAccessRight 
If bHasAccessRight = True Then 
    StdOut.WriteLine "Have Create SubKey Access Rights on Key" 
Else 
    StdOut.WriteLine "Do Not Have Create SubKey Access Rights on Key" 
End If 
oReg.CheckAccess HKEY_LOCAL_MACHINE, strKeyPath, DELETE, bHasAccessRight 
If bHasAccessRight = True Then 
    StdOut.WriteLine "Have Delete Access Rights on Key" 
Else 
    StdOut.WriteLine "Do Not Have Delete Access Rights on Key" 
End If
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表