问题标签 [uac]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1202 浏览

uac - 启动应用时显示 UAC 提示

我有一个需要管理员权限才能执行某些操作的应用程序。我只想在 UAC 启动时显示提示,然后提升。我不知道该怎么做,但我听说过诸如清单之类的东西,但在任何地方都没有看到明确的答案。

0 投票
10 回答
53442 浏览

c# - 检测是否以管理员身份运行有或没有提升的权限?

我有一个应用程序需要检测它是否以提升的权限运行。我目前有这样的代码设置:

这可以检测用户是否是管理员,但如果以管理员身份运行而没有提升权限则不起作用。(例如在 vshost.exe 中)。

我如何确定提升是否 [已经生效或] 可能

0 投票
2 回答
9115 浏览

windows - Vista UAC - 映射网络驱动器的故障

我们有一个以编程方式映射网络驱动器的应用程序。在开启 UAC 的 Vista 上,我们遇到了一些奇怪的问题。

我们的应用程序映射非提升驱动器,因此如果用户浏览资源管理器并双击运行 exe,它会提示输入 UAC。因此,当他们批准它时,它会提示输入共享的用户名/密码......奇怪,因为凭据已保存。

事实证明,提升的进程无法访问从非提升的进程映射的映射驱动器。

要查看此问题的实际效果,请执行以下步骤:

  • 在没有 UAC 的情况下运行 cmd.exe
  • 运行“net use w:\yourHostname\yourShare /user:yourUser yourPassword /persistent:yes”
  • 以管理员身份运行 cmd.exe
  • 键入“w:”,然后查看错误消息

此时,您可以运行普通的“net use”并查看提升的 cmd 上的连接不可用,但其他非提升的 cmd 认为它正常。

有谁知道解决此问题的解决方法?或者可能是一种将网络驱动器映射到“所有用户”的方法?

0 投票
4 回答
17274 浏览

windows-7 - Windows 7 文件访问权限问题

我在 Windows 7 中安装了我的应用程序,作为安装的一部分,它安装了一些文本文件。现在,如果我在记事本中打开文本文件并尝试保存它,我会收到“拒绝访问”错误。我在机器上以管理员身份登录,文件未标记为只读,安全权限似乎很好。

但是,我可以毫无问题地删除或重命名该文件,并且可以使用记事本创建一个具有相同名称/位置的新文件,并且保存工作正常。

我知道这与UAC有关。我想知道 UAC 做了什么来阻止对文件的访问。我们的应用程序未安装在 Program Files 文件夹中,因为我相信 UAC 会限制对 Program Files 文件夹中文件的任何更改

任何人都可以阐明正在发生的事情。

问候G

0 投票
2 回答
477 浏览

security - 移至 Windows 7 (64) 进行开发。UAC设置呢?[Windows 应用程序]

多年来,Windows XP(32 位)是我的开发桌面(个人项目)。我开发了许多爱好项目并将其作为开源分发,并且从不担心或烦恼在 Vista 中检查它(我只使用了一周的 Vista)。但是我的用户没有一个对我在 Vista 中的应用程序有太多抱怨。

现在我已经迁移到 Windows 7 64 位操作系统 (RTM)。我正在使用 Visual Studio 2008。我正在开发一个计划出售的应用程序。

我正在使用 SQLite DB 进行数据存储,一切都很顺利,直到我决定在我的笔记本电脑中安装我的第一个版本。繁荣!应用程序没有按预期工作。我发现即使我是管理员用户,该应用程序也无法写入数据库(它说只读)。

注意:在 Windows 7 中,即使登录用户具有管理员权限,它也会提示确认某个进程(有时甚至在驱动器之间复制粘贴)是否需要管理员权限。不确定这是否是新的。忽略这是否是旧的。

当我以“以管理员身份运行”运行应用程序时,它运行良好。

app.manifest 文件具有以下设置。

我了解我可以将其更改为以下任一

我的问题是如果我将设置更改为“requireAdministrator”会影响没有管理员权限的普通用户吗?

如何使我的数据库对普通用户可写?

此设置将如何影响 Windows XP 用户?

什么是让每个人都可以毫无问题地更新数据库的最佳配置?

这是我第一次面临这样的安全问题。有什么建议吗?

注意:我将在每个可能的操作系统中测试这个应用程序。我在 Vista 32 位操作系统(管理员用户)中运行了一个测试,它运行良好。但是我对 Windows 7 的体验让我感到困惑。

0 投票
1 回答
1555 浏览

c++ - 在 Vista 上调用 CoCreateInstance 时是否可以降低权限级别?

好的,我有一个 IE 插件,安装时需要(在用户许可的情况下)重新启动 IE。

为此,我有一个由安装程序调用的 DLL。它可以工作,但问题是当在 Vista 上重新启动 IE 时,它会以安装程序的管理员权限重新启动,这是一个问题,原因有很多。

我正在使用 CoCreateInstance 启动 IE,以便获得 IWebBrowser2 接口的实例,以便对其执行一些操作。

所以我的问题是,是否可以从以管理员权限运行的应用程序调用 CoCreateInstance,从而生成的 COM 对象实例继承基本用户权限而不是调用应用程序的管理员权限?

0 投票
1 回答
718 浏览

.net - 以编程方式抑制注册表虚拟化

在通用的基于.NET 的组件的上下文中,它可以托管在各种场景中 - 即,无论是否为 64 位,交互过程与否,我需要在受 UAC 虚拟化影响的区域中写入注册表。但是,我想防止此类访问被虚拟化,以便每次执行都不受当前上下文的变幻莫测(即,不希望从 HKLM 读取一个读数,因为它有一个清单,另一个来自 HKCU。 .VirtualStore 因为它没有)。

换句话说,我正在寻找类似于 KEY_WOW64_64KEY的东西,或者reg.exe REG_KEY_DONT_VIRTUALIZE表明我在任何情况下都不想被虚拟化。或者是否有某种形式的规范化相关语法我可以用你指定 >260 字符文件名的方式强制它?

如果执行用户对相关注册表项没有适当的权限,我对代码失败感到满意。

这个问题与这个关于检测注册表虚拟化的问题密切相关,但在这种情况下检测肯定是不够的。

0 投票
1 回答
522 浏览

c# - UAC让我很适合!

我目前正在编写的代码在 Windows Server 2003 上运行,但需要能够写入多台机器上的 EventLogs。我正在使用 VS2008 Pro 和 .NET Framework 3.5 使用 C# 进行编码。

代码本身比较简单(感谢框架):

“LogName”是一个字符串,其中包含要写入的日志的名称——在大多数情况下是“Application”。“HostName”是一个字符串,其中包含应写入日志条目的机器的 NetBIOS 名称。“EventSource”是一个包含事件发送者名称的字符串(这是一个由多个应用程序使用的实用程序,因此通常它具有消费应用程序的名称)。“正文”是一个字符串,其中包含要写入事件日志的文本。

在大多数情况下,这可以正常工作,但是当被写入的机器使用 UAC 时,任何创建新 EventSource 的写入都会失败。即使使用的安全凭据是管理员组的成员,也会发生这种情况 - 我无法找到一种方法来指定提升的特权级别。显然,Administrators goroup 的成员获得了两个令牌——一个是受限的,一个是提升的,但据我所知,指定提升令牌的唯一方法是通过 UI——这在远程访问日志时显然是一个问题。

有什么想法吗?

0 投票
3 回答
731 浏览

uac - nsinstall:Vista 上的错误文件编号错误

我正在尝试在我的 Windows Vista Ultimate 机器上构建 Firefox。我不断收到以下错误:

nsinstall:错误的文件号

我读过这个错误是由于 Vista 中的 UAC 引起的。这是导致我得出这个结论的两篇文章。https://wiki.mozilla.org/Penelope_Developer_Page#Windows_Vistahttp://www.kevinbrosnan.net/mozilla-build-error-nsinstall-bad-file-number

使用标准的“以管理员身份运行”,我试图重做我的构建,但我得到了完全相同的错误。我还以管理员身份启动了一个普通的命令提示符,然后转到 mozilla-build (start-msvc8.bat) 中的批处理文件并运行它。仍然,在同一点出现同样的错误。

关于我如何解决此错误或其他原因导致错误的任何其他见解?

注意:我还在这里发布了一些内容,希望获得特定主题的帮助,但我没有听到任何消息……在我发布之后,我在nsinstall. 无论如何,我更喜欢所以我想我会在这里尝试......

更新:我已尝试完全禁用 UAC 以纠正 cnemelkasr 建议的问题。我收到了完全相同的错误。这种新知识让我认为缺少文件或文件夹......有 NSInstall 经验的人知道给定的错误 - 错误的文件编号 - 可能意味着什么?我想它可能是指一个文件句柄......

0 投票
2 回答
2143 浏览

windows-7 - 围绕 Windows UAC 限制进行设计的正确方法?

我发现如果在任何级别启用 UAC,我编写的应用程序在 Windows Vista/7 下都无法正常工作,因为它将文件写入程序的安装目录,默认为“C:\Program Files\MyProgram”。如果 UAC 被禁用(或在任何其他版本的 Windows 上)它可以正常工作 - 我读到 UAC 默认拒绝应用程序对 Program Files 目录的写访问。

我的问题是,我应该如何编写我的应用程序,以便可以在根本不需要任何“权利”的情况下使用它。我不希望用户必须以提升的权限或以管理员身份运行它。我只是想让它工作。是否有任何应用程序在 UAC 下具有写入权限的某些目录,在这些目录中写入我的文件可能会更好?它们大多是动态创建/销毁/更新的配置文件。

谢谢你的帮助!