"访问被拒绝"错误消息,当您在一台基于 Windows Server 2003 的计算机上运行批处理作业时

针对 Windows Server 2003 的支持已于 2015 年 7 月 14 日终止。

Microsoft 已于 2015 年 7 月 14 日终止了对于 Windows Server 2003 的支持。该更改已影响到您的软件更新和安全选项。 了解这一措施对于您的含义以及如何继续保持受保护状态。

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 867466
症状
您在运行基于 Microsoft Windows Server 2003 的计算机的普通用户帐户上下文下运行的批处理作业时可能不会运行该脚本。 如果使用计划任务功能运行批处理作业中 Scheduled Tasks 日志文件 (Schedlgu.txt) 可能会记录以下错误消息:
0x80070005: 访问被拒绝。
如果您使用调试器的程序,尝试确定批处理作业不工作,以下错误消息可能会出现在调试输出:
访问被拒绝 (错误 5)
原因
如果满足下列所有条件都都为真,则会出现此问题:
  • 在基于 Windows Server 2003 的成员服务器上运行批处理作业。
  • 作为非交互式进程运行批处理作业。
  • 批处理作业被配置为不是在管理员组的成员的帐户的上下文中运行。
在 Windows Server 2003 中, 用户组不会不具有读取和执行命令处理器 (Cmd.exe) 的权限。 默认状态下,Cmd.exe 程序具有下列权限设置:
  • 交互式隐式的组和服务的隐式组具有读取和执行权限。

    注意 在成员服务器上 TelnetClients 组还具有读取和执行权限。 在域控制器上批处理隐式组还具有读取和执行权限。
  • 在管理员组和 $ 系统隐式组具有完全控制权限。
解决方案
若要解决此问题,使用下列方法之一。

方法 1

授予 Cmd.exe 程序为用户帐户下运行的批处理作业的读取和执行权限。 若要这样做,请按照下列步骤操作:
  1. 单击 开始,然后单击 Windows 资源管理器
  2. 找到并右键单击 Cmd.exe 文件。 Cmd.exe 文件位于 %windir%\System32 文件夹中。
  3. 单击 属性
  4. 单击 安全 选项卡。
  5. 单击 添加
  6. 输入对象名称来选择 框键入批处理作业借以使用的用户名称,然后单击 确定 两次。

    注意 添加用户时, 被自动授予用户读取和执行权限。
  7. 当系统提示您继续,请单击 $

方法 2

Cmd.exe 文件的读取和执行权限授予批处理组。这将允许所有批处理进程运行命令处理器。 若要这样做,请按照下列步骤操作:
  1. 单击 开始,然后单击 Windows 资源管理器
  2. 找到并右键单击 Cmd.exe 文件。 Cmd.exe 文件位于 %windir%\System32 文件夹中。
  3. 单击 属性
  4. 单击 安全 选项卡。
  5. 单击 添加
  6. 输入对象名称来选择 框键入 批处理,然后单击 确定 两次。
  7. 当系统提示您继续,请单击 $
更多信息
本文所述的行为是不同于 Microsoft Windows 2000 Server 的默认行为。 默认状态下,Windows 2000 Server 授予读取权限和执行权限授予用户组。

有关隐式的组的详细信息,请访问以下 Microsoft 网站:
任务计划程序

警告:本文已自动翻译

属性

文章 ID:867466 - 上次审阅时间:11/30/2007 09:15:28 - 修订版本: 1.5

Microsoft Windows Server 2003 Web Edition, Microsoft Windows Server 2003 Standard Edition, Microsoft Windows Server 2003 Enterprise Edition, Microsoft Windows Server 2003 Datacenter Edition, Microsoft Windows Server 2003, Enterprise x64 Edition, Microsoft Windows Server 2003, 64-Bit Datacenter Edition

  • kbmt kbtshoot kbprb KB867466 KbMtzh
反馈