c#new Process()。Start()在windows xp IIS 5.1上不起作用

时间:2012-03-09 12:25:43

标签: windows-xp cmd

我正在尝试使用cmd更改系统日期和时间。我可以使用命令提示符手动运行cmd,它可以工作。当IIS5.1 / XP托管它时,它不起作用。这是我用来运行命令的方法。

/// <summary>
/// Runs a cmd and returns the response
/// </summary>
/// <param name="cmd"></param>
/// <returns>The respond of the cmd</returns>
private static string RunCmd(string cmd)
{
    var p = new Process();

    p.StartInfo = new ProcessStartInfo("cmd", cmd)
    {
        RedirectStandardOutput = true,
        UseShellExecute = false,
        CreateNoWindow = true
    };

    p.Start();

    string output = p.StandardOutput.ReadToEnd();

    p.WaitForExit();

    return cmd + Environment.NewLine + output;
}

这使用cassini和IIS7在我的开发箱(windows server 2008 r2)上按预期工作。为什么它不适用于XP / IIS5.1?我怀疑这是一个权限问题。如果是这样,我如何获得IIS5.1完全管理员权限的默认网站?

此外,这里是我用来调用前面提到的方法的代码。

/// <summary>
/// Sets the date.
/// </summary>
/// <param name="year">The year.</param>
/// <param name="month">The month.</param>
/// <param name="day">The day.</param>
/// <remarks></remarks>
public static string SetDate(int year, int month, int day)
{
    var date = month.ToString("##") + "-" + day.ToString("##") + "-" + year.ToString("####");
    return RunCmd("CMD /c DATE " + date);
}

1 个答案:

答案 0 :(得分:0)

您可以尝试查看标准错误吗?也许你可以看到呼叫失败的原因。