在 Windows Vista(我假设是 Windows 7)中,Microsoft 提高了通过任务计划程序运行的进程的安全性,即http://technet.microsoft.com/en-us/appcompat/aa906020.aspx:
在 Windows Vista 任务计划程序中,安全性大大提高。任务计划程序支持安全隔离模型,其中在特定安全上下文中运行的每组任务都在单独的会话中启动。为不同用户执行的任务在单独的窗口会话中启动,彼此完全隔离,并且与在机器(系统)上下文中运行的任务完全隔离。
问题是我有一个脚本需要以设定的时间间隔运行并通过 SCP 将文件上传到 Linux 网络服务器,为此我使用Pageant存储脚本可以获取的 SSH 密钥。这一切在 Windows XP 中运行良好,但由于 Windows Vista 中的隔离模式,脚本似乎无法与 Pageant 进程对话,并且 SCP 传输失败。
任务计划程序配置工具中有一个选项,您可以在其中选择“为 Windows Server 2003、Windows XP 或 Windows 2000 配置”,这至少使任务以交互方式运行,这也是我想要的,但隔离模式似乎仍然是启用。
问题:有什么方法可以关闭 Windows Vista 任务计划程序中的新“隔离模式”,使其行为与 Windows XP 一样,允许进程间通信?
更新:我不知道这是否应该受到"Session 0 Isolation"的影响,但在该页面上的文档中它提到了以下内容:
服务尝试使用窗口消息函数(如 SendMessage 和 PostMessage)与应用程序通信。这不起作用,因为应用程序在不同的会话中运行,因此具有不同的消息队列。消息永远不会到达目的地。对于尝试通过窗口消息与服务进行通信的应用程序也是如此。
哪个选美会...但是当启用“为 Windows XP 配置”时也应该是这种情况吗?