系统重启无管理员用户帐户

时间:2016-04-19 11:57:50

标签: c#

嗨我想通过一个没有管理员帐户运行的代码重新启动我的系统但是它没有工作。请帮助我。

这是代码

    try
        {
            if (DateTime.Now.ToString("H:mm").Equals("4:00"))

            {

                ProcessStartInfo Autorestart = new                           ProcessStartInfo(@"C:\Autostart.bat");
                Autorestart.UseShellExecute = false;

                SecureString pw = new SecureString();

                pw.AppendChar('p');
                pw.AppendChar('a');
                pw.AppendChar('s');
                pw.AppendChar('s');
                pw.AppendChar('w');
                pw.AppendChar('o');
                pw.AppendChar('r');
                pw.AppendChar('d');

                Autorestart.Password = pw;
                Autorestart.UserName = "support";

2 个答案:

答案 0 :(得分:0)

在你的Autostart.bat中添加此内容。

shutdown -r -t 05;

我希望它有所帮助。

答案 1 :(得分:0)

我不会问你为什么要编写在4:00重启的代码,但我会帮忙;-)。 C#中的重启功能需要管理员权限,因为它可以被恶意使用,但为了做到这一点,你只需要添加System.Diagnostics.Process.Start("CMD.exe", "shutdown /r");。这使用命令提示符命令重新启动(/r开关)。请参阅下面的最终代码:

if (DateTime.Now.ToString("HH:mm") == "04:00")
  System.Diagnostics.Process.Start("CMD.exe", "shutdown /r /t {time in seconds}")

我不知道您为什么要这样做,或者为什么您拥有安全密码和用户名以及字符串构建等所有代码,但这是最简单的方法。