【发布时间】:2011-02-05 15:53:10
【问题描述】:
我目前正在使用 VB.NET 开发一个 ASP.NET 应用程序,它的功能之一是使用 Windows 任务计划程序。应用程序需要对此进行完全控制,因为它需要创建、修改、删除和运行任务。
我找到了this library 来帮助解决整个问题,它运行良好,但仅在我的 Windows XP 机器上本地运行。一旦我将应用程序部署到 Windows Server 2003 上的 IIS6 并访问使用我的 Scheduler 对象的页面,我就会收到以下错误。
访问被拒绝。 (来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))
我在网上寻找了各种解决方案,包括使用无效的 CACLS 授予特定用户(甚至所有人)对 %windir%\Tasks 的权限,以及使用模拟并将 IUSER 添加到备份操作用户组这不起作用,因为应用程序必须使用 Windows 集成身份验证。
让我对整个情况感到困惑的一件事是,我在测试应用程序时登录的用户可以非常愉快地远程桌面并登录到服务器并使用任务计划程序。此外,如果我在 Visual Studio 中本地运行应用程序(仍然在同一用户下)并将应用程序指向服务器的任务计划程序,它工作正常。除此之外,如果我从服务器运行应用程序并将其指向我的本地任务计划程序,我会得到相同的“访问被拒绝”错误。所有这一切让我认为这不是任务计划程序权限,而是与任务计划程序库尝试使用的某些组件的权限有关。
有谁知道我可以做些什么来解决这个问题,甚至只是一个正确方向的指针,因为这已经让我发疯了一天多。在 IIS 问题、模拟和 Windows Server 安全方面,我必须说我是一个新手。
非常感谢
【问题讨论】:
-
您应该在尝试使用 exe\TS 时传递凭据信息。
标签: asp.net permissions windows-server-2003 scheduler access-denied