2016-04-19 282 views
-2

系統重新啓動嗨我想重啓我的系統通過一個代碼是通過沒有管理員帳戶運行,但它不working.kindly幫助我。通過無管理員用戶帳戶

這裏是代碼

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"; 
+0

實際上不工作?如果有任何可以幫助解決問題的地方,可以共享錯誤/堆棧跟蹤。 – yogi

+0

您發佈的代碼中沒有任何內容會觸發重新啓動。如果您在.bat文件中觸發重新啓動,則應將其內容添加到您的問題中。 –

+0

是的,先生,這裏是.bat文件 %windir%\ system32 \ shutdown -r -t 00 – abid

回答

0

在你Autostart.bat只需添加這一點。

shutdown -r -t 05;

我希望它有幫助。

+0

這也可以,但我不明白他爲什麼要從C#執行批處理腳本,爲什麼不從代碼重新啓動系統(儘管使用CMD)? – RhysO

+0

我使用了上面提到的代碼,但沒有給出結果。我告訴我,我想從沒有管理員帳戶重新啓動任何機構幫助我整理出plzzzzzzzzz – abid

+0

if(DateTime.Now.ToString(「H:mm 「).Equals(」4:00「)) {System.Diagnostics.Process.Start(」CMD.exe「,」shutdown/t「); – abid

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}") 

我不知道你爲什麼要這麼做,爲什麼你有一個安全的密碼和用戶名和字符串建築和其他一切所有的代碼,但是這是最簡單的方法。

+0

是的,先生,支持用戶是管理員權限用戶 – abid

+0

@abid只需將程序調用保存在要關閉的代碼中,然後代碼就可以重新啓動PC。儘管如此,關機命令通常會有延遲。要刪除這個使用'-t {time in seconds}'。默認值是20秒。 – RhysO

+0

對不起,先生不能讓你。我應該加-t ???? – abid