【问题标题】:Become "the real administrator"(Windows) and perform real admin tasks in .NET C#?成为“真正的管理员”(Windows)并在 .NET C# 中执行真正的管理任务?
【发布时间】:2011-04-18 09:27:25
【问题描述】:

在 Windows 中,仅仅因为您的帐户在管理员组中并不意味着它有足够的权限来删除 一些 系统文件。有没有办法在 C# 中使用这种“supreme”管理员权限执行操作,而无需登录管理员帐户(仅使用管理员组中的帐户)。

编辑

在我的情况下,它是一个个人应用程序(很抱歉我没有指定这个),我相信自己不会删除任何系统文件或让任何流氓病毒访问此权限。我在个人计算机上使用域帐户,虽然我的个人计算机上有管理员,但我不想继续在用户之间切换。我想要的是一种以尽可能高的特权用户身份运行我的程序的简单方法。除非以完全管理员身份登录,否则没有任何办法吗?

【问题讨论】:

  • 这不会破坏目的吗?
  • 您要删除的这些一些系统文件是什么,为什么?请详细说明。可能会出现更好的解决方案!
  • @Mayank 好吧,我实际上并不想编辑任何系统文件。我只是想确保在我的应用程序例程中拥有完整的系统功能。 @Lloyd 我想,但是如果您可以在 linux 中使用 sudo 命令执行此操作,为什么 Windows 不能执行此操作。
  • 您说的是 Windows Vista 和 Windows 7 中的提升吗?
  • technet.microsoft.com/en-us/magazine/ff431742.aspx,不过好像还是会提示。

标签: c# .net windows admin task


【解决方案1】:

问题已回答,谢谢。我被告知,在 Linux 中使用 sudo 命令无法启动具有 FULL 管理员权限的应用程序。添加 UAC 清单很有帮助,因为它指定了如何在我的应用程序中实现权限 (http://msdn.microsoft.com/en-us/library/bb756929.aspx)。

//关闭

【讨论】:

  • 听起来您回答了自己的问题。您仍应将其标记为首选答案。
  • LocalSystem 没有什么是管理员做不到的。因此,我对您的“无法启动具有完整管理员权限的应用程序”感到有些困惑。您可能需要采取一些额外的步骤(修改管理员无权访问的少数文件之一),但您可以作为管理员执行任何您想做的事情。
  • 另一个想法:即使 LocalSystem 也没有“完整”管理员权限。与 root 绕过 AuthN 的 *nix 不同,在 Windows 中 LocalSystem 可以被锁定(通过从 ACL 中删除 NTAUTHORITY\System)。当然 LocalSystem 总是可以访问资源(通过启用 TakeOwnership 权限)但是......
  • 这不是真的。只需谷歌一下“将程序作为系统启动”。系统拥有一切可能的权利。系统甚至可以读取用户的密码哈希。
猜你喜欢
  • 2011-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-03
  • 1970-01-01
  • 2023-03-07
  • 2017-08-20
相关资源
最近更新 更多