首先抱歉我的英语不好。 如果uac正在运行,我必须检查。
REG QUERY HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\ /v EnableLUA
当UAC未运行时,此命令返回0x0,否则返回0x1。 但它还带来了我还不需要的其他无用的东西。
有没有可能只将0x0 / 0x1过滤成变量并将其保存到txt文件?
答案 0 :(得分:1)
for /f "tokens=3" %%a in (
'REG QUERY HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\ /v EnableLUA'
) do set "UAC=%%a"
> "someFile.txt" echo %UAC%
for /f
将执行命令,读取其输出并使用空格和制表符作为分隔符拆分行。我们要求第三个标记。由于reg
命令的通常输出是
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System
EnableLUA REG_DWORD 0x1
只有一行至少有三个令牌,因此只会处理此行。在我们请求第三个令牌时,0x1
存储在for
可替换参数中,该参数已分配给%UAC%
变量。
然后,变量的值回显到指定的文件
答案 1 :(得分:0)
EnableLUA不是真正的UAC状态,它可能已过时。如果您在不重新启动的情况下更改UAC设置,则EnableLUA将为您提供错误的值。
据我所知,没有记录的方法可以获得当前的UAC状态......