Windows 2008 R2服务器上的pipe理员用户获取“拒绝访问”消息来启动/停止服务

我以属于目标计算机上pipe理员组一部分的域用户身份login到Windows 2008 R2服务器。 执行下面的命令,我得到访问被拒绝的错误:

$> sc stop ServiceName [SC] OpenService FAILED 5: Access is denied. 

奇怪的是,作为同一个用户,我可以打开服务GUI(pipe理工具>服务),并启动/停止相同的服务没有问题。 这似乎发生在我尝试启动/停止的所有服务上,并且这个计算机上的任何“pipe理”用户都会发生这种情况(除了本地pipe理员用户,我没有这些用户的权限以便testing)。 命令行失败,但GUI工作。

我也知道服务名称的拼写是正确的,因为如果我改变它是别的,我得到一个不同的错误(“指定的服务不存在…”)。 我注意到,我可以更改服务名称的shell(ServiceName vs SERVICENAME),并获得访问被拒绝的错误。

当使用“net start ServiceName”而不是sc命令时,我得到类似访问被拒绝的消息。

有什么想法发生在这里? 需要这个工作为脚本目的。 相同的脚本在Win2003服务器上工作正常。

看起来像你已经发现为什么很多人讨厌用户帐户控制 。

您应该右键单击命令提示符图标并select“以pipe理员身份运行”; 这将允许您实际使用您的pipe理权限。