UAC / VS / W2K8:当我在管理员组中时,为什么VS无法使用管理员权限启动?

时间:2008-11-25 17:18:37

标签: visual-studio visual-studio-2008 uac

Server 2008机器SP1,Visual Studio 2008 SP1。我的用户; Developer,位于本地Administrators组中。也就是说,我在Visual Studio中执行的一些操作(使用Web应用程序的属性窗口调用在本地IIS中创建虚拟目录)告诉我需要Admin权限。这比任何事都烦恼,我可以通过右键单击(以管理员身份运行)来启动VS来执行操作 - 但我很好奇是否有人知道为什么会发生这种情况?

3 个答案:

答案 0 :(得分:2)

这不适用于使用UAC的Vista。您的用户位于管理员组中意味着该用户可以执行管理任务。假设您有一个普通用户,该用户已登录并尝试执行管理任务。该用户将无法执行此类任务,因为它不在管理员组中。他需要提供管理员的用户名/密码才能执行此类任务。但是,如果您的用户是管理员,您将被授予执行任务的权限。

你所说的基本上就是Windows XP的运作方式,我们都知道如何解决所有安全问题。在XP上,您是具有管理员权限的管理员,您可以在系统中执行任何操作。那不是很安全。在Vista中,您位于管理员组中,但这并不意味着每个任务都应该/将以管理员权限运行。您是管理员,您可以在系统中更改所需内容,但默认情况下,可以使用较少的管理员权限运行,以防止出现任何安全问题。您需要管理员权限,使用管理员权限运行应用程序。

这就是它的工作原理以及它应该如何工作。

无论如何我就是这样看的。)

答案 1 :(得分:0)

因为它是如何工作的,我猜...用户所在的组无关紧要,重要的是应用程序是否以管理员权限运行。如果是,那么您将能够执行管理操作,否则您将不会。

所有使用UAC执行管理操作的应用程序(当您看到安全徽章时)他们将a)以管理员权限重新启动应用程序或b)启动具有管理员权限的进程以执行相应的操作。如果不使用它们启动进程,他们将永远无法授予您管理员权限。

这就是它真正起作用的方式。据我所知,这就是它的工作原理......

答案 2 :(得分:0)

Nazgulled:您的第一个语句将指示进程在安全上下文中启动,而不是从当前用户继承的安全上下文。我的好奇心源于这个基本的理解,即一个进程与我的令牌一起运行。如果我的用户在管理员组中,那么它是否会运行admin privleges?也许我对此的基本理解是错误的 - 可能是用户权限/安全性和流程安全性上下文与我理解的那样紧密相关......