Windows 8.1 : "IsUserAnAdmin" returns false even though UAC is off and the user a member of "administrators"

标签 windows winapi windows-8 uac windows-server-2012

在 UAC 关闭且当前用户是本地管理员(不是本地“管理员”帐户)的成员的 Windows 8.1 系统上调用“IsUserAnAdmin”返回“false”。在 Windows 7 中,使用相同的设置,调用“IsUserAnAdmin”会返回“true”。 MSDN 文章指出此功能的支持在 Windows Vista/Server 2008 中结束,那么它在 Windows 8/8.1 中是否不再有效?

最佳答案

事实证明,在 Windows 8.1 PC 上,仅将 UAC 设置为“从不通知”不足以在登录时为用户帐户提供完全不受限制的管理权限。如果只是将 UAC 设置为“从不通知”,要以完全管理权限执行程序,仍然需要使用“以管理员身份运行”菜单项来启动程序。 “从不通知”,顾名思义,在这种情况下只是不显示UAC确认对话框。

在 Windows 8/Server 2012 上,要在登录后立即授予帐户完全管理权限,必须关闭 UAC,并且需要在“本地组策略编辑器”(gpedit.xml) 中禁用以下本地策略。 msc) 或通过域级别的组策略: 计算机配置/Windows 设置/安全设置/本地策略/安全选项/用户帐户控制:在管理员批准模式下运行所有​​管理员。一旦发生此更改,调用“IsUserAnAdmin”将返回“true”。

与 Windows 7 相比,这是一个变化。在 Windows 7 中,当将 UAC 级别设置为“从不通知”时,上述策略会自动设置为“已禁用”。

感谢“NWC Services”的 Michi Dönselmann 在这篇文章中为我指明了正确的方向:“UAC auf Windows Server 2012 deaktivieren”。

关于Windows 8.1 : "IsUserAnAdmin" returns false even though UAC is off and the user a member of "administrators",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29939648/

相关文章:

c - 如何使窗口不透明?

windows - 创建桌面应用程序的最佳技术是什么

c# - 使用 WPF 将 Enter 键发送到外部应用程序时出现问题

.net - Windows 8 从桌面应用程序启动 "metro"应用程序?

windows-8 - XML 规范在哪里?用于 CurrentAppSimulator 测试的 WindowsStoreProxy.xml

c++ - 如何检查特定文件夹中是否存在任何文件?

python - 使用 win32gui 列出所有窗口

windows - 检查正在运行的进程正在调用哪个windows api

c++ - 用于泄漏检测的 Appverifier 和 Visual Studio

c# - 将 Windows Phone 和 Windows 8 应用程序连接到 SQL Server