在Vista任务计划程序中closures“隔离模式”?

在Windows Vista中(我假定Windows 7)Microsoft已经改进了通过任务计划程序运行的进程的安全性,即http://technet.microsoft.com/en-us/appcompat/aa906020.aspx :

在Windows Vista任务计划程序中,安全性大大提高。 任务计划程序支持一个安全隔离模型,其中在特定的安全上下文中运行的每组任务都是在单独的会话中启动的。 针对不同用户执行的任务在单独的窗口会话中启动,与机器(系统)上下文中运行的任务完全隔离。

问题是,我有一个脚本,需要以设定的时间间隔运行,并通过SCP将file upload到Linuxnetworking服务器,为此,我使用Pageant来存储脚本可以获取的SSH密钥。 所有这些在Windows XP中工作正常,但是由于Windows Vista中的隔离模式,脚本不允许与寻呼机进程交谈,SCP传输失败。

在任务计划程序configurationutil中有一个选项,您可以在其中select“为Windows Server 2003,Windows XP或Windows 2000进行configuration” ,这至less使交互式任务运行,我也想要,但隔离模式似乎仍然是启用。


问:是否有任何方法可以closuresWindows Vista任务计划程序中的新“隔离模式”,以便像Windows XP那样执行操作,从而实现进程间通信?


更新:我不知道这是否应该受到“会话0隔离”的影响 ,但在该页的文档中提到了以下内容:

服务尝试使用诸如SendMessage和PostMessage之类的窗口消息函数与应用程序进行通信。 这不起作用,因为应用程序运行在不同的会话中,因此具有不同的消息队列。 消息永远不会到达目的地。 尝试通过窗口消息与服务进行通信的应用程序也是如此。

哪个选美游戏可以…但是在“Configure for Windows XP”启用时也应该如此?

这个问题原来是因为我在Vista / Win7中描述的隔离模式。 与客户端应用程序交谈时,Pageant的工作方式是发送和接收简单的窗口消息。 这个方法在我隔离的过程中不起作用,因为程序运行在具有不同消息循环的不同会话中。

我最终通过重写页面程序和putty套件中的客户端应用程序来使用命名pipe道来解决此问题。 我已经向腻子开发者提交了一个补丁,但是在写这个补丁的时候,它并没有被合并到主干中。 感谢开源! 🙂

因为你说手动运行时它起作用,请检查你正在运行脚本的位置,“开始(可选)”文件夹。

我不知道它是否有关系,但是我们的脚本永远不能正常运行,即使是所有的pipe理员权限,如果没有指定(试图从受到高度保护的C:\ Windows \ system32运行脚本,我相信)。

看看这是否有所作为。