在没有“管理员”帐户的情况下在 Windows 8 上将进程安装为服务?

在没有“管理员”帐户的情况下在 Windows 8 上将进程安装为服务?

我正在尝试在 Windows 8 上将 httpd.exe 作为服务启动。这是给我带来问题的指令:

Start apache in a DOS box:
>httpd.exe
Install as a service:
>httpd.exe -k install

第一个命令运行正常,但第二个命令失败,如下所示:

C:\Apache24\bin>httpd.exe -k install
Installing the Apache2.4 service
(OS 5)Access is denied.  : AH00369: Failed to open the WinNT service
manager, perhaps you forgot to log in as Adminstrator?

我使用的帐户是具有管理员权限的本地帐户。使用此帐户时,我可以安装软件、管理其他用户帐户等。在“控制面板\所有控制面板项\用户帐户\管理帐户”屏幕上,我没有看到“管理员”或“管理员”帐户。我尝试了另一篇文章中建议的以下操作:

runas /noprofile /user:Administrator cmd

这会导致系统提示输入密码,但我似乎不知道。这台电脑预装了 Windows 8,如果有人要求我输入管理员密码,我记不起我的回答。

所以我的问题是,如何在不知道“管理员”帐户密码的情况下在 Windows 8 上将正在运行的应用程序安装为服务?或者,如何发现或重置“管理员”帐户的密码?

答案1

我使用的帐户是具有管理员权限的本地帐户。

错误,这也是问题的根源。

随着 Windows NT 6.0(“Vista”)的出现,出现了所谓的用户帐户控制。这背后有一个很长的故事,这里无法给出答案。但简而言之,你是不是使用具有管理员权限的帐户。您正在使用过滤进程标记用于运行所有仅具有普通权限的程序。

有很多隐藏的机制大多向您隐藏了这一点,包括识别各种软件的设置/安装实用程序的机制,以及(需通过对话框获得管理员批准)使用管理员权限运行那些已从您通常使用的进程令牌中过滤掉的程序的机制。

这些机制无法识别httpd.exe为安装程序。(关于应用程序是否也应该将特权和非特权操作结合在一个功能齐全的程序中,还有很长的讨论。但这也太过分了,无法回答这个问题。)因此,您必须明确使用管理员权限运行它。要么使用其命令解释器以管理员权限运行它,要么使用其以管理员身份运行上下文菜单选项,或者httpd.exe以管理员权限直接运行(当然提供命令参数)。

进一步阅读

答案2

您将无法以非管理员用户身份启动它或“发现”密码。要么重置管理员密码,要么继续您的生活。尝试使用启动盘来执行此操作。请参阅:如何重置 Windows XP 管理员密码?

答案3

您在“控制面板\所有控制面板项\用户帐户\管理帐户”中找不到管理员帐户的原因是管理员帐户已被禁用。由于您的帐户具有管理员权限,您可以转到“计算机管理\本地用户和组\用户”,启用管理员帐户并为其设置密码(不是空白密码),因为cmd会拒绝它,然后运行“runas /noprofile /user:Administrator cmd”命令或以管理员身份登录以测试执行文件是否会在这些条件下运行。

相关内容