it-swarm.asia

Bagaimana cara mematikan, memulai kembali, atau keluar dari Windows melalui file bat?

Saya telah menggunakan Remote Desktop Connection untuk masuk ke workstation. Tetapi dalam lingkungan ini, saya tidak dapat menggunakan opsi daya di Start Menu. Saya perlu cara alternatif untuk mematikan atau memulai kembali.

Bagaimana cara mengontrol status daya komputer saya melalui baris perintah?

635
Keng

Cara paling umum untuk menggunakan perintah shutdown adalah:

  • shutdown -s - dimatikan.
  • shutdown -r - Mulai ulang.
  • shutdown -l - Keluar.
  • shutdown -h - Hibernasi.

    Catatan: Ada perangkap umum di mana pengguna berpikir -h berarti "bantuan" (yang ia lakukan untuk setiap program baris perintah lainnya ... kecuali shutdown.exe, di mana artinya "hibernate"). Mereka kemudian menjalankan shutdown -h dan secara tidak sengaja mematikan komputer mereka. Hati-hati dengan itu.

  • shutdown -i - "Mode interaktif". Alih-alih melakukan tindakan, ini menampilkan dialog GUI.

  • shutdown -a - Membatalkan perintah pematian sebelumnya.

Perintah di atas dapat dikombinasikan dengan opsi tambahan ini:

  • -f - Memaksa program untuk keluar. Mencegah proses penutupan agar tidak macet.
  • -t <seconds> - Mengatur waktu hingga shutdown. Gunakan -t 0 untuk mematikan segera.
  • -c <message> - Menambahkan pesan penutupan. Pesan akan berakhir di Log Kejadian.
  • -y - Memaksa jawaban "ya" untuk semua pertanyaan mematikan.

    Catatan: Opsi ini tidak didokumentasikan dalam dokumentasi resmi apa pun. Ditemukan oleh pengguna StackOverflow ini .


Saya ingin memastikan beberapa jawaban yang benar-benar bagus juga disebutkan bersama dengan yang ini. Di sini mereka tanpa urutan tertentu.

1141
Keng

Jika Anda menggunakan mesin jarak jauh, Anda mungkin juga ingin menambahkan opsi -f ke force reboot. Kalau tidak, sesi Anda bisa ditutup dan aplikasi yang keras kepala dapat menggantung sistem.

Saya menggunakan ini setiap kali saya ingin memaksa reboot langsung:

shutdown -t 0 -r -f

Untuk opsi "berikan waktu" yang lebih bersahabat, 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 opsi ini.

374
JosephStyons

Tidak ada yang menyebutkan opsi -m untuk shutdown jarak jauh:

shutdown -r -f -m \\machinename

Juga:

  • Parameter -r menyebabkan reboot (yang biasanya Anda inginkan pada mesin jarak jauh, karena secara fisik memulai mungkin sulit).
  • Opsi parameter -f memaksa reboot.
  • Anda harus memiliki hak yang sesuai untuk mematikan mesin jarak jauh, tentu saja.
81
Kip

Jawaban asli: Oktober 2008

Anda juga punya semua "rundll32.exe Shell32.dll" seri:

(lihat pembaruan di bawah)

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

    rundll32.exe Shell32.dll,SHExitWindowsEx n
    

di mana n singkatan:

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

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


Pembaruan April 2015 (6+ tahun kemudian):

1800 INFORMASI mohon tunjukkan di komentar :

Jangan gunakan rundll32.exe untuk tujuan ini. Ia mengharapkan bahwa fungsi yang Anda lewati pada baris perintah memiliki tanda tangan metode yang sangat spesifik - tidak cocok dengan tanda tangan metode ExitWindows.

Raymond CHEN menulis:

Fungsi tanda tangan yang diperlukan untuk fungsi yang dipanggil oleh rundll32.exe adalah:

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

Itu tidak menghentikan orang untuk menggunakan rundll32 untuk memanggil fungsi acak yang tidak dirancang untuk dipanggil oleh rundll32, seperti user32 LockWorkStation atau user32 ExitWindowsEx.

(oops)

Tanda tangan fungsi aktual untuk ExitWindowsEx adalah:

BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);

Dan untuk membuatnya sejernih kristal:

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

37
VonC

Tip kecil lainnya: ketika pergi dengan rute file batch, saya ingin dapat membatalkannya jika saya menjalankannya secara tidak sengaja. Jadi file batch memanggil shutdown tetapi membiarkan Anda pada command Prompt sesudahnya.

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

Plus, karena itu pada timer, Anda mendapatkan sensasi yang sama seperti yang Anda lakukan ketika berburu di The Oregon Trail .

9
Gavin

Ketika dikirim ulang ke mesin (targetnya adalah Windows XP; saya tidak yakin tentang target Windows Vista), meskipun Shutdown pada menu mulai digantikan oleh Disconnect Session atau sesuatu seperti itu, harus ada satu yang disebut 'Windows Security' yang juga melakukan hal yang sama Ctrl + Alt + End seperti yang ditunjukkan oleh Owen.

7
Carl

Anda mungkin mengetahui hal ini, tetapi untuk berjaga-jaga: lebih mudah untuk mengetik shutdown -r (atau perintah apa pun yang Anda suka) ke dalam kotak "Run" dan tekan enter.

Menghemat meninggalkan file batch di mana-mana.

7
Dean Rather

Saya terlambat ke pesta, tetapi belum melihat jawaban ini. Ketika Anda tidak ingin menggunakan file batch atau ketikkan perintah. Anda bisa mengatur fokus ke desktop lalu menggunakannya Alt + F4.

Windows akan menanyakan apa yang ingin Anda lakukan, pilih shutdown atau restart.

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

5
msoft

Saya akan menulis ini di Notepad atau WordPad untuk perintah dasar logoff:

@echo off
shutdown -l

Ini pada dasarnya sama dengan mengklik mulai dan keluar secara manual, tetapi itu hanya sedikit lebih cepat jika Anda memiliki file batch yang siap.

4
Grant