Cum fac shutdown, restart sau log off din Windows prin intermediul unui fișier bat?

Am'am fost folosind Remote Desktop Connection pentru a obține într-o stație de lucru. Dar în acest mediu, nu pot utiliza opțiuni de alimentare din Meniul Start. Am nevoie de o modalitate alternativă de a shutdown sau restart.

Cum pot controla calculatorul meu's puterii de stat prin linia de comandă?

Comentarii la întrebare (1)
Soluția

Cele mai comune modalități de a utiliza shutdown comandă sunt:

  • shutdown-s — se Oprește.
  • shutdown-r — Repornește.
  • shutdown-l — log off.
  • shutdown-h — Hibernează.

Notă: nu Există o capcană comună care utilizatorii cred că -h înseamnă "ajutor" (care se face pentru fiecare linie de comandă program, cu excepția shutdown.exe, care inseamna "hibernare"). Apoi au rulatshutdown-h` și transforma accidental de pe computerele lor. Ferește-te pentru asta.

  • shutdown-am — "modul Interactiv". În loc de a efectua o acțiune, se afișează o interfață de dialog.
  • shutdown-o — Intrerupe un precedent comandă de oprire.

Comenzile de mai sus pot fi combinate cu aceste opțiuni suplimentare:

  • -f — Forțele de programe pentru a ieși. Previne procesul de închidere de la obtinerea blocat.
  • -t <secunde> — Setează timpul până la oprire. Utilizarea -t 0 a opririi imediat.
  • -c <mesaj> — Adaugă un shutdown mesaj. Mesajul va ajunge în Jurnalul de Evenimente.
  • -y — Forțele de un "da" răspunsul la toate opririi interogări.

Notă: Această opțiune nu este documentată în orice documente oficiale. A fost descoperit de aceste StackOverflow utilizatori.


Vreau să fiu sigur că alte câteva răspunsuri foarte bune sunt de menționat, de asemenea, împreună cu asta. Aici ele sunt în nici o ordine anume.

Comentarii (7)

Dacă sunteți pe o mașină de la distanță, de asemenea, poate doriți să adăugați optiunea-f forța repornire. În caz contrar sedinta se poate închide și un încăpățânat aplicație poate bloca sistemul.

Eu folosesc acest lucru ori de câte ori vreau să-l forțez un reboot imediat:

shutdown -t 0 -r -f

Pentru o mai ușor "da-i ceva timp" opțiune, puteți folosi acest lucru:

shutdown -t 30 -r

După cum puteți vedea în comentarii,- f este implicat de timeout.

Brutus 2006 este un utilitar care oferă o interfață grafică pentru aceste opțiuni.

Comentarii (3)

Nimeni nu a menționat -m opțiune de închidere de la distanță:

shutdown -r -f -m \\machinename

De asemenea:

  • - R parametru determină un reboot (care este, de obicei ceea ce vrei de la o mașină de la distanță, din punct de vedere fizic de plecare ar putea fi dificil).
  • A -f parametru forțele opțiunea de repornire.
  • Trebuie să aveți privilegii corespunzătoare pentru a închide aparatul de la distanță, desigur.
Comentarii (3)

Original răspuns: Oct. 2008

Ai, de asemenea, toate "rundll32.exe shell32.dll" serie:

(a se vedea de actualizare de mai jos)

  • rundll32.exe user.exe,**ExitWindows** [Fast Shutdown din Windows]
  • rundll32.exe user.exe,**ExitWindowsExec** [Reporniți Windows]

rundll32 exe.exe shell32.dll,SHExitWindowsEx n

unde " n " reprezintă:

  • 0 - log off
  • 1 - SHUTDOWN
  • 2 - REBOOT
  • 4 - "FORȚA"
  • 8 - OPRIT

(pot fi combinate -> 6 = 2+4 FORCE REBOOT)


Update aprilie 2015 (6+ ani):

1800 INFORMAȚII vă rugăm subliniază în comentarii:

Nu't folosi rundll32.exepentru acest scop. Se așteaptă că funcția l-ai trecut pe linia de comandă are o metodă specifică de semnatura - nu&#39;t se potrivesc semnătura metodă de ExitWindows.

Raymond CHEN a scris:

funcția semnătura necesare pentru funcții numite de către rundll32.exe este:

void CALLBACK ExitWindowsEx(HWND hwnd, HINSTANCE hinst,
       LPSTR pszCmdLine, int nCmdShow);

a't oprit de oamenii de la utilizarea rundll32 exe pentru a apela funcții aleatoare, care nu't proiectat pentru a fi numit de către rundll32 exe, ca user32 LockWorkStation " sau " user32 ExitWindowsEx.

(oops)

funcția propriu-zisă de semnătură pentru ExitWindowsEx este:

BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);

Și a spus-o foarte clar:

  • în 2013 " Ce's îndrumarea pe când să utilizeze rundll32 exe? Simplu: Nu't folosi]6":

Rundll32 exe este un rest de la Windows 95, și s-a depreciat de la cel puțin Windows Vista deoarece încalcă o mulțime de inginerie moderne orientări.

Comentarii (6)

Un alt mic sfat: cand va fișier batch traseu, am dori să fie în măsură să avorteze în cazul în care am rulat-o din greșeală. Deci, fișierul batch invocă opririi dar te lasă la promptul de comandă după aceea.

@echo off
echo Shutting down in 10 seconds. Please type "shutdown /a" to abort.
cmd.exe /K shutdown /f /t 10 /r

În Plus, deoarece's pe un timer, veți obține aproximativ aceeași senzație ca atunci când de vânătoare în Oregon Trail.

Comentarii (2)

Te're, probabil, conștienți de acest lucru, dar doar în cazul în care: it's mult mai ușor să tastați shutdown-r (sau orice comandă vă place) în "Run" caseta și apăsați enter.

Salvează lăsând fișiere lot situată în jurul valorii de peste tot.

Comentarii (3)

Când remoted într-o mașină (țintă este Windows XP oricum, eu nu sunt sigur despre țintă Windows Vista), deși Oprire în meniul start este înlocuit de Deconectați Sesiune sau ceva de genul asta, nu ar trebui să fie unul numit 'Windows Security' care, de asemenea, face același lucru ca Ctrl + Alt + End cum a subliniat de către Owen.

Comentarii (2)

Aș scrie acest lucru în Notepad sau WordPad pentru o bază logoff comanda:

@echo off
shutdown -l

Aceasta este în esență același ca și clic pe start și logoff manual, dar este doar cu puțin mai repede dacă aveți fișierul batch gata.

Comentarii (0)

Am'm a întârziat la petrecere, dar nu am văzut acest răspuns încă. Când don't doriți să utilizați un fișier batch sau tastați comanda. Puteți seta doar se concentreze pe desktop și de a folosi apoi Alt + F4.

Windows vă va întreba ce vrei să faci, selectați oprire sau repornire.

Pentru capturi de ecran și chiar și un video, a se vedea: https://tinkertry.com/how-to-shutdown-or-restart-windows-over-rdp

Comentarii (2)