如何采用简洁直观的方式查询Windows系统中UAC的启用或禁用状态?
简洁查询Windows UAC状态的方法
当然有更清爽的方式!既然你习惯用PowerShell的(get-service service-name).status来获取简洁的服务状态,那咱们用PowerShell就能实现同样简洁的UAC状态查询,不用再处理REG QUERY的冗长输出。
直接返回友好状态字符串(和服务状态格式一致)
运行这条PowerShell命令,会直接输出Enabled或Disabled:
$uacValue = (Get-ItemProperty -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System).EnableLUA $uacValue -eq 1 ? "Enabled" : "Disabled"
或者写成一行更紧凑的版本:
(Get-ItemProperty -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System).EnableLUA | % { $_ -eq 1 ? "Enabled" : "Disabled" }
其他简洁输出选项
如果你需要更基础的结果,也可以用这些命令:
- 获取原始数值(1=启用,0=禁用):
(Get-ItemProperty -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System).EnableLUA - 返回布尔值(
True=启用,False=禁用):(Get-ItemProperty -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System).EnableLUA -eq 1
这个方法完全贴合你想要的“简洁返回单个状态结果”的需求,和查询服务状态的体验一致,不用再解析注册表命令的复杂输出啦。
内容的提问来源于stack exchange,提问作者kkpareek
相关产品推荐
相关产品推荐

