我是批处理文件脚本的新手。我创建了简单的 Windows bat 文件。问题是仅当用户具有管理员权限时,bat 文件才会运行。但我想为所有用户(如普通用户、标准用户和访客等)运行此批处理文件。我使用过 Windows 7。
Access is denied.
[2013-09-18 09:55:07] [error] Unable to open the Service Manager
[2013-09-18 09:55:07] [error] Access is denied.
[2013-09-18 09:55:07] [error] Access is denied.
Access is denied.
Failed to install service
所有用户都可以运行 Windows bat 文件吗?
答案1
使用管理员权限运行批处理文件需要您的干预。默认情况下,不使用管理员权限运行批处理文件。但是,存在一些例外情况和可能的问题。
您的批处理文件可能包含一些命令,这些命令在没有提升权限的情况下会失败,例如写入 Program Files 目录。这是一个常见问题,错误消息表明您遇到了此类问题。显然,批处理文件要么尝试通过服务管理器创建服务,要么启动外部程序来执行此操作。批处理文件确实在没有管理权限的情况下运行,但无法按预期工作。
这是正常行为。服务管理器基本上不对普通用户开放。您收到“访问被拒绝”消息的原因是因为访问被(正确地)拒绝。可以更改访问服务的安全设置,但我强烈建议不要这样做。
如果您的批处理文件的设计目的应该是无需提升即可工作,那么请重写它以避免使用服务管理器。如果这不可行,这个问题包含大量有关在没有管理权限的情况下使用服务的信息。