0
cmdを使用してシステムの日付と時刻を変更しようとしています。コマンドプロンプトでcmdを手動で実行することができます。 IIS5.1/XPがホストしているときは動作しません。コマンドを実行する方法は次のとおりです。c#new Process()。WindowsでStart()が機能しないxp IIS 5.1
/// <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の完全な吹き出しの管理アクセス権の既定のWebサイトを取得できますか?
また、ここでは私が前に述べた方法を呼び出すために使用するコードです。
/// <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);
}