Bagaimana cara shutdown, restart, atau log off Windows melalui file bat?

I've telah menggunakan Remote Desktop Connection untuk masuk ke dalam suatu workstation. Tapi di lingkungan ini, saya tidak bisa menggunakan power options di Menu Start. Saya perlu cara alternatif untuk shutdown atau restart.

Bagaimana cara mengontrol komputer saya's listrik negara melalui command line?

Mengomentari pertanyaan (1)
Larutan

Cara yang paling umum untuk menggunakan shutdown perintah ini adalah:

  • shutdown -s — Menutup.
  • shutdown -r — Restart.
  • shutdown -l — Log off.
  • shutdown -h — Hibernates.

Catatan: Ada sebuah perangkap umum dimana pengguna berpikir -h berarti "bantuan" (yang ini tidak untuk setiap baris perintah program... kecuali shutdown.exe, di mana itu berarti "hibernate"). Mereka kemudian jalankan shutdown -h dan sengaja mematikan komputer mereka. Watch out untuk itu.

  • shutdown -i — "modus Interaktif". Bukannya melakukan tindakan, ini akan menampilkan sebuah dialog GUI.
  • shutdown -a — Aborts sebelumnya perintah shutdown.

Perintah di atas dapat dikombinasikan dengan opsi tambahan:

  • -f — Kekuatan program untuk keluar. Mencegah proses shutdown dari terjebak.
  • -t <detik> — Set waktu sampai shutdown. Gunakan -t 0 shutdown segera.
  • -c <message> — Menambahkan pesan shutdown. Pesan tersebut akan berakhir dalam Event Log.
  • -y — Kekuatan "ya" jawaban untuk semua shutdown pertanyaan.

Catatan: pilihan Ini tidak didokumentasikan dalam dokumentasi resmi. Hal ini ditemukan oleh ini StackOverflow pengguna.


Saya ingin pastikan beberapa lainnya benar-benar jawaban yang baik juga disebutkan bersama dengan yang satu ini. Di sini mereka tidak dalam urutan tertentu.

Komentar (7)

Jika anda pada mesin remote, anda mungkin juga ingin menambahkan opsi-f untuk memaksa reboot. Jika tidak, anda dapat menutup sesi dan keras kepala aplikasi dapat menggantung sistem.

Saya menggunakan ini setiap kali saya ingin untuk memaksa reboot langsung:

shutdown -t 0 -r -f

Untuk lebih ramah "memberikan mereka beberapa waktu" pilihan, anda dapat menggunakan ini:

shutdown -t 30 -r

Seperti yang anda lihat di komentar,- f tersirat oleh batas waktu.

Brutus 2006 adalah utilitas yang menyediakan GUI untuk pilihan ini.

Komentar (3)

Tidak ada yang telah disebutkan -m pilihan untuk remote shutdown:

shutdown -r -f -m \\machinename

Juga:

  • The -r parameter penyebab reboot (yang biasanya apa yang anda inginkan pada mesin remote, karena secara fisik awal mungkin sulit).
  • - F parameter pasukan pilihan reboot.
  • Anda harus memiliki hak akses yang sesuai untuk mematikan mesin jarak jauh, tentu saja.
Komentar (3)

Jawaban asli: Oct. 2008

Anda juga punya semua "rundll32.exe shell32.dll" serie:

(lihat update di bawah ini)

  • rundll32.exe user.exe,**ExitWindows** [Fast Shutdown dari Windows]
  • rundll32.exe user.exe,**ExitWindowsExec** [Restart Windows]

rundll32.exe shell32.dll,SHExitWindowsEx n

di mana n adalah singkatan dari:

  • 0 - LOGOFF
  • 1 - SHUTDOWN
  • 2 - REBOOT
  • 4 - FORCE
  • 8 - POWEROFF

(dapat digabungkan -> 6 = 2+4 MEMAKSA REBOOT)


Update April 2015 (6+ tahun kemudian):

1800 INFORMASI silakan poin di komentar:

Don't menggunakan rundll32.exe untuk tujuan ini. Ia mengharapkan bahwa fungsi anda lulus pada baris perintah yang sangat spesifik metode signature - itu doesn't sesuai dengan metode tanda tangan ExitWindows.

Raymond CHEN menulis:

fungsi tanda tangan yang diperlukan untuk fungsi-fungsi yang disebut dengan rundll32.exe adalah:

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

belum't berhenti orang-orang dari menggunakan rundll32 untuk memanggil fungsi acak yang tidak't dirancang untuk menjadi yang disebut dengan rundll32, seperti user32 LockWorkStation atau user32 ExitWindowsEx.

(oops)

sebenarnya fungsi tanda tangan untuk ExitWindowsEx adalah:

BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);

Dan untuk membuat itu crystal-clear:

Rundll32 adalah sisa-sisa dari Windows 95, dan itu telah usang setidaknya sejak Windows Vista karena melanggar banyak dari teknik modern pedoman.

Komentar (6)

Kecil lain tip: ketika akan batch file route, saya ingin dapat menggugurkan dalam kasus saya menjalankan itu secara tidak sengaja. Jadi batch file memanggil shutdown tetapi meninggalkan anda di command prompt setelah itu.

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

Plus, sejak itu's pada timer, anda mendapatkan sensasi yang sama seperti yang anda lakukan ketika berburu di Oregon Trail.

Komentar (2)

Anda're mungkin menyadari hal ini, tetapi hanya dalam kasus:'s jauh lebih mudah untuk hanya jenis shutdown -r (atau perintah apa pun yang anda suka) ke "Run" kotak dan tekan enter.

Menghemat meninggalkan batch file yang tergeletak di mana-mana.

Komentar (3)

Ketika remoted ke mesin (target adalah Windows XP pokoknya, saya tidak yakin tentang target Windows Vista), meskipun Shutdown pada start menu diganti dengan Memutuskan sambungan Sesi atau sesuatu seperti itu, harus ada salah satu yang disebut 'Keamanan Windows' yang juga melakukan hal yang sama seperti Pilih + Alt + End seperti yang ditunjukkan oleh Owen.

Komentar (2)

Aku akan menulis ini di Notepad atau WordPad atas dasar perintah logoff:

@echo off
shutdown -l

Ini pada dasarnya adalah sama dengan mengklik start dan logoff secara manual, tapi itu hanya sedikit lebih cepat jika anda memiliki file batch siap.

Komentar (0)

I'm terlambat ke pesta, tapi tidak melihat jawaban ini belum. Ketika anda don't ingin menggunakan file batch atau ketik perintah. Anda hanya dapat mengatur fokus ke desktop, dan kemudian menggunakan Alt + F4.

Windows akan meminta anda apa yang ingin anda lakukan, pilih shutdown atau restart.

Untuk screenshot dan bahkan video, lihat: https://tinkertry.com/how-to-shutdown-or-restart-windows-over-rdp

Komentar (2)