如何读取并禁用指定UAC组策略安全选项值?(CMD/WMI工具)
读取与禁用指定UAC安全设置的方法
读取设置值
方式1:WMI脚本(VBS)
将以下代码保存为read_uac.vbs,以管理员权限运行cscript //nologo read_uac.vbs:
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" strValueName = "EnableLUA" objReg.GetDWORDValue &H80000002, strKeyPath, strValueName, dwValue If dwValue = 1 Then WScript.Echo "User Account Control: Run all administrators in Admin Approval Mode 已启用" Else WScript.Echo "User Account Control: Run all administrators in Admin Approval Mode 已禁用" End If
方式2:WMIC命令行
以管理员权限在cmd中执行:
wmic path StdRegProv call GetDWORDValue hDefKey=^&H80000002 sSubKeyName="SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" sValueName="EnableLUA"
返回结果中uValue为1表示启用,0表示禁用。
方式3:REG命令(快速查询)
管理员权限执行:
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA
禁用该选项
方式1:WMI脚本(VBS)
将以下代码保存为disable_uac.vbs,管理员权限运行cscript //nologo disable_uac.vbs:
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate, (Backup,Restore)}!\\.\root\default:StdRegProv") strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" strValueName = "EnableLUA" objReg.SetDWORDValue &H80000002, strKeyPath, strValueName, 0 WScript.Echo "已禁用目标UAC选项,需重启系统生效"
方式2:WMIC命令行
管理员权限执行:
wmic path StdRegProv call SetDWORDValue hDefKey=^&H80000002 sSubKeyName="SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" sValueName="EnableLUA" uValue=0
方式3:REG命令
管理员权限执行:
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA /t REG_DWORD /d 0 /f
注意事项
- 所有操作必须以管理员权限执行
- 修改设置后,必须重启系统才能生效
- 该组策略项本质对应注册表
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA,值1为启用,0为禁用
内容的提问来源于stack exchange,提问作者kopiev
相关产品推荐
相关产品推荐

