我有一个 bat 文件,我想安排它每天早上运行。
在计划任务向导中...当我单击完成时...我得到了...
无法创建新任务。具体错误为:0x8007005:访问被拒绝。请尝试使用“任务”页面的“浏览”按钮来定位应用程序
我尝试过同时使用作为该框的管理员的域帐户...和作为该框的管理员的本地帐户。
在另一台机器上...我设法完成了这项工作..但无法弄清楚配置中的差异。它使用域帐户来运行 bat 文件。
答案1
大家好,这个问题困扰了我一段时间。我终于找到了解决办法,想与大家分享一下。
警告!以下解决方案涉及 Windows 系统注册表。错误地编辑或操作注册表可能会导致严重的系统损坏,可能需要重新安装操作系统。如果您不习惯编辑注册表,请将您的系统交给专业人士。如果您选择继续,那么在继续之前创建完整的系统备份和 Windows 系统还原点至关重要。
首先从微软网站下载 subinacl 并运行安装包。http://www.microsoft.com/downloads/details.aspx?FamilyID=E8BA3E56-D8FE-4A91-93CF-ED6985E3927B&displaylang=en
SubInACL 是一个命令行工具,使管理员能够获取有关文件、注册表项和服务的安全信息,并将这些信息从一个用户传输到另一个用户、从一个本地或全局组传输到另一个组、从一个域传输到另一个域。
接下来,将以下命令复制并粘贴到文本文件中。将文件另存为重置命令保存后,双击文件,命令将开始运行。此过程需要 3 到 10 分钟的时间。运行后,大多数情况下无需重新启动(我发现 Oracle 的情况不同)。继续执行调度任务或您在收到可怕的“访问被拒绝”错误之前所做的任何操作。希望这能有所帮助!
cd /d "%ProgramFiles%\Windows Resource Kits\Tools"
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f
subinacl /subdirectories %SystemDrive% /grant=administrators=f /grant=system=f
subinacl /subdirectories %windir%\*.* /grant=administrators=f /grant=system=f
secedit /configure /cfg %windir%\repair\secsetup.inf /db secsetup.sdb /verbose
答案2
如果与任务目录的权限有关,则有一个更简单的方法。此目录受到保护,因此您必须使用资源工具包工具来更改其权限。
首先安装 subinacl(你必须从 Microsoft 获取)
然后从 cmd 提示符和 c: 驱动器的根目录运行这三个命令。
cd\
cacls c:\windows\tasks /T /E /P Administrators:F
cacls c:\windows\tasks /T /E /P SYSTEM:F
这些命令将授予用户组管理员和用户系统对任务文件夹的完全权限。
答案3
已为我解决 - Windows Server 2008 Standard Edition SP2 中存在同样的问题。调试计划任务时显示“错误 5 访问被拒绝”信息
通过在计划任务属性的“常规”选项卡上选中“以最高权限运行”来解决
答案4
确保任务计划程序服务已打开。
此外,您可能已通过组策略禁用任务。