我不明白为什么在某些计算机上,无论用户权限如何,Windows 都不会提示输入管理员凭据来执行软件安装。
电脑是windows7,有的提示正确,有的提示不正确。
我检查了 gpresult 和计算机管理,没有发现任何具体内容。
我已经为此苦苦挣扎了很久。有人遇到过同样的问题吗?
谢谢。
答案1
http://windows.microsoft.com/en-us/windows/turn-user-account-control-on-off#1TC=windows-7
打开或关闭 UAC
通过单击“开始”按钮 “开始”按钮的图片,然后单击“控制面板”,打开“用户帐户控制设置”。在搜索框中,键入 uac,然后单击“更改用户帐户控制设置”。
执行以下操作之一:
要关闭 UAC,请将滑块移至“从不通知”位置,然后单击“确定”。需要管理员权限如果系统提示您输入管理员密码或确认,请输入密码或提供确认。您需要重新启动计算机才能关闭 UAC。
要打开 UAC,请移动滑块以选择您想要接收通知的时间,然后单击“确定”。需要管理员权限如果系统提示您输入管理员密码或确认,请键入密码或提供确认。
尝试在两台机器上运行以下命令VBscript
。我将其用作 BGINFO 背景的一部分,以帮助我记住任何给定机器的设置。
dim base, regELUA, regCPBA, regCPBU, regPOSD
base = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\"
Set objShell = CreateObject("WScript.Shell")
regELUA = objShell.RegRead(base & "EnableLUA")
regCPBA = objShell.RegRead(base & "ConsentPromptBehaviorAdmin")
regCPBU = objShell.RegRead(base & "ConsentPromptBehaviorUser")
regPOSD = objShell.RegRead(base & "PromptOnSecureDesktop")
' wscript.echo "EnableLUA: " & vbtab & regELUA
' wscript.echo "ConsentPromptBehaviorAdmin:" & vbtab & regCPBA
' wscript.echo "ConsentPromptBehaviorUser: " & vbtab & regCPBU
' wscript.echo "PromptOnSecureDesktop: " & vbtab & regPOSD
if (regELUA = 1 and regCPBU >= 1 and regCPBU <= 3 and regCPBA = 2) then
strUSER = "Always Notify"
strADMIN = "Always Notify"
elseif (regELUA = 1 and regCPBU >= 1 and regCPBU <= 3 and regCPBA = 5) then
strUSER = "Always Notify"
strADMIN = "Only Notify on Program Change"
elseif (regELUA = 0 and regCPBU >= 1 and regCPBU <= 3 and regCPBA = 0) then
strUSER = "Always Notify"
strADMIN = "Disabled"
elseif (regELUA = 0 and regCPBU = 0 and regCPBA = 0) then
strUSER = "Disabled"
strADMIN = "Disabled"
else
strUSER = "Unknown"
strADMIN = "Unknown"
end if
if refPOSB = 1 then
strDIMDESK = " & Dim Desktop"
elseif refPOSB = 0 then
strDIMDESK = " & Do Not Dim Desktop"
end if
if strADMIN = "Disabled" or strADMIN = "Unknown" then
strValA = "Admins:" & vbtab & strADMIN
else
strValA = "Admins:" & vbtab & strADMIN & strDIMDESK
end if
if strUSER = "Disabled" or strUSER = "Unknown" then
strValU = "Users:" & vbtab & strUSER
else
strValU = "Users:" & vbtab & strUSER & strDIMDESK
end if
strName = "User Account Control (UAC):"
strValue = strValU & vbcrlf & vbtab & strValA
bginfo = strName & vbcrlf & vbtab & strValue
wscript.echo bginfo
答案2
可能是这个设置(或另一个 UAC 设置,取决于上下文)。引述来自我的 Win7 机器上的本地安全策略。如果未在 GPO 中定义,则不同机器的本地安全策略可能会有所不同,因此您应该通过 GPO 定义所有 UAC 设置。
用户帐户控制: 检测应用程序安装并提示提升权限
此策略设置控制计算机的应用程序安装检测行为。
选项包括:
• 已启用:(主页默认)当检测到需要提升权限的应用程序安装包时,系统会提示用户输入管理用户名和密码。如果用户输入了有效的凭据,则操作将以适用的权限继续进行。
• 已禁用:(企业默认设置)不检测应用程序安装包并提示提升权限。运行标准用户桌面并使用委派安装技术(如组策略软件安装或系统管理服务器 (SMS))的企业应禁用此策略设置。在这种情况下,安装程序检测是不必要的。