2016-04-19 7 views
-2

Hallo, ich möchte mein System durch einen Code neu starten, der durch keine None Admin-Konto ausgeführt wird, aber es funktioniert nicht.kindly mir helfen.Systemneustart durch Keine Admin Benutzerkonto

hier ist der Code

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

was funktioniert eigentlich nicht? Wenn Sie Fehler/Stack-Trace teilen können, wenn es etwas gibt, das helfen würde, das Problem zu lösen. – yogi

+0

Es gibt nichts in dem Code, den Sie gepostet haben, der einen Neustart auslösen würde. Wenn Sie den Neustart in der .bat-Datei auslösen, sollten Sie den Inhalt zu Ihrer Frage hinzufügen. –

+0

jawohl, hier ist .bat file % windir% \ system32 \ shutdown -r -t 00 – abid

Antwort

0

In Ihrem autostart.bat dies nur hinzufügen.

shutdown -r -t 05;

Ich hoffe es hilft.

+0

Das würde auch funktionieren, aber ich sehe nicht, warum er versucht, ein Batch-Skript von C# auszuführen, warum nicht einfach das System von Ihrem Code (wenn auch mit der Verwendung von CMD) neu starten? – RhysO

+0

Ich habe den oben genannten Code verwendet, aber es gibt nicht das Ergebnis.als ich sagte, dass ich von keinem Admin-Konto neu starten möchte.Kann mir helfen, es zu sortieren plzzzzzzzzz – abid

+0

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

0

Ich werde nicht fragen, warum Sie Code schreiben möchten, der um 4:00 neu startet, aber ich werde helfen ;-). Die Neustart-Funktion in C# erfordert Admin-Rechte, da sie in böswilliger Absicht verwendet werden kann. Um dies zu tun, müssen Sie lediglich System.Diagnostics.Process.Start("CMD.exe", "shutdown /r"); hinzufügen. Dies verwendet einen Befehlseingabeaufforderung, um neu zu starten (der /r Schalter). Siehe unten für den endgültigen Code:

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

Ich habe keine Ahnung, warum Sie dies tun wollen, oder warum haben Sie alle, dass Code für sichere Passwörter und Benutzernamen und String-Gebäude und alles andere, aber das ist der einfachste Weg, .

+0

Ja Herr der Support-Benutzer ist Administrator Rechte Benutzer – abid

+0

@abid Nur den Prozess Anruf in Ihrem Code, wo Sie herunterfahren möchten, und Ihr Code sollte dann den PC neu starten. Seien Sie gewarnt, der Befehl zum Herunterfahren hat normalerweise eine Verzögerung. Um dies zu entfernen, benutze '-t {Zeit in Sekunden}'. Der Standardwert ist 20 Sekunden. – RhysO

+0

Entschuldigung Sir konnte dich nicht bekommen. Wo sollte ich hinzufügen -t ???? – abid

Verwandte Themen