远程调用SchTasks删除任务失败,C#出现多连接错误

时间:2011-09-16 22:31:23

标签: scheduled-tasks

从c#代码我打电话给schtasks删除一些预定的任务。我做了第一个电话,我收到了这个错误:

错误:不允许同一用户使用多个用户名与服务器或共享资源建立多个连接....

以下是运行该过程的代码:

        Process stProc = new Process();

        stProc.StartInfo.UseShellExecute = false;
        stProc.StartInfo.FileName = "SCHTASKS.exe";
        stProc.StartInfo.RedirectStandardError = true;
        stProc.StartInfo.RedirectStandardOutput = true;
        stProc.StartInfo.CreateNoWindow = true;
        stProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
        stProc.StartInfo.Arguments = args;

        stProc.Start();
        stProc.BeginOutputReadLine();
        stProc.BeginErrorReadLine();
        stProc.OutputDataReceived += new DataReceivedEventHandler(p_OutputDataReceived);
        stProc.ErrorDataReceived += new DataReceivedEventHandler(p_ErrorDataReceived);
        stProc.WaitForExit();
        stProc.Close();
        stProc.Dispose();

我的论据是正确的:http://msdn.microsoft.com/en-us/library/bb736357(v=vs.85).aspx

为了确保我的连接没有闲逛,我在每次删除调用之前创建一个新进程来终止它:

StartProcess(args);
        Process x = new Process();
        x.StartInfo.FileName = "cmd";
        x.StartInfo.Arguments = @" net use \\servername\ipc$ /delete";
        x.StartInfo.CreateNoWindow = true;
        x.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
        x.Start();

不确定这里有什么。可能是其他人正在使用这台机器,所以我的电话无法通过?

任何想法都赞赏!

谢谢!

1 个答案:

答案 0 :(得分:0)

答案是:http://support.microsoft.com/kb/938120

我使用了机器的IP地址。