COMException远程连接到Windows 8 \ Windows 2012任务计划程序

时间:2013-03-06 13:17:56

标签: c# .net windows-8 scheduled-tasks windows-server-2012

我正在使用Windows服务器2008系统上运行的TaskService(COM任务调度程序1.1类型库的互操作)类远程连接到另一个Windows服务器系统上的任务计划程序。相关的代码段如下:

var ts = new TaskService(IP address, userId, domain, password);
foreach (Task task in ts.RootFolder.Tasks)
{
    Console.Writeline(task.Definition.Principal.UserId);
}

当目标是Windows 2008和Windows 7,但使用Windows Server 2012& Windows 8我得到以下COM异常:

“任务XML包含格式不正确或超出范围的值。(HRESULT异常:0x80041318)”

我检查了上面返回的Task的Xml属性。 我看到的唯一区别是,对于Windows 2012,它是Task version = \“1.4 \”,但当远程系统是Windows 2008或Windows 7时,Task version = \“1.3 \”或更低。“

属性访问器task.Definition抛出异常:

System.Runtime.InteropServices.COMException (0x80041318): The task XML contains
a value which is incorrectly formatted or out of range. (Exception from HRESULT:
 0x80041318)
   at TaskScheduler.IRegisteredTask.get_Definition()

ITaskSchedulerService接口使用XML来定义任务。 在Windows 8和Windows 2012中,他们使用新的任务计划程序远程协议(版本1.4), 这与使用版本1.2-1.3的最旧的Windows操作系统不兼容。

有没有办法从Windows 2008系统远程定位Win 2012或Win8任务计划程序?

0 个答案:

没有答案