“以管理员身份运行”到底有什么作用?
在Windows 7上,我有一个命令行程序,该程序由于文件写入许可错误而失败,并弹出烦人UAC每次我运行来自"未知发布者"的命令行程序时对话。 但是,如果我通过右键单击并选择"作为管理员运行"来启动控制台,那么即使仍然存在" UAC对话框",安装也可以正常工作。 我的用户已经是"管理员"组的成员,那么"作为管理员"的精确运行使我的安装工作是什么? 我的具体问题是精确的:“作为管理员运行"做什么?到目前为止,两个答案都没有解决。(例如,它是作为"管理员"用户运行新过程的?还是以当前用户的身份运行该过程,但具有提高的特权?如果是的,什么特权?这与我从我的特权有何不同用户在"管理员"组中? (具体来说,我正在使用来自SourceForge,不是常规的 CMD 窗口,但我认为这并不重要。在Windows 7上安装Python并分发分发给"写作失败…拒绝许可”) 答案 当您登录Windows时,会创建一个访问令牌。这可以识别您,您是您的成员和您的特权的群体。并请注意,用户是否是管理员,是由用户是否是管理员组的成员确定的。 没有UAC,运行程序时,它将获得访问令牌的副本,这可以控制程序可以访问的内容。 使用UAC,当您运行程序时,将获得有限的访问令牌。这是从组(以及其他一些更改)中删除的"管理员"的原始访问令牌。即使您的用户是管理员组的成员,该程序也无法使用管理员特权。 当您选择"作为管理员运行"并且您的用户是管理员时,程序将使用原始的无限制访问令牌启动。如果您的用户不是管理员,则会提示您的管理员帐户,并且该程序在该帐户下运行。 来自: stackoverflow.com