Bir iş istasyonuna girmek için Uzak Masaüstü Bağlantısı kullanıyorum. Ancak bu ortamda Başlat Menüsü'ndeki güç seçeneklerini kullanamıyorum. Kapatmak veya yeniden başlatmak için alternatif bir yola ihtiyacım var.
Bilgisayarımın güç durumunu komut satırı üzerinden nasıl kontrol edebilirim?
Shutdown`]1 komutunu kullanmanın en yaygın yolları şunlardır:
shutdown -s
- Kapanır.
shutdown -r
- Yeniden başlatır.
shutdown -l
- Oturumu kapatır.
shutdown -h
- Hazırda bekletir.
Not: Kullanıcıların -h'nin "help" anlamına geldiğini düşündüğü yaygın bir tuzak vardır (diğer tüm komut satırı programları için olduğu gibi... "hibernate" anlamına geldiği
shutdown.exe' hariç). Daha sonra shutdown -h
komutunu çalıştırırlar ve yanlışlıkla bilgisayarlarını kapatırlar. Buna dikkat edin.
shutdown -i
- "Etkileşimli mod". Bir eylem gerçekleştirmek yerine, bir GUI iletişim kutusu görüntüler.
shutdown -a
- Önceki kapatma komutunu iptal eder.
Yukarıdaki komutlar bu ek seçeneklerle birleştirilebilir:
f` - Programları çıkmaya zorlar. Kapatma işleminin takılıp kalmasını önler.
-t <seconds>
- Kapanmaya kadar geçecek süreyi ayarlar. Hemen kapatmak için -t 0
kullanın.
-c <message>
- Bir kapatma mesajı ekler. Mesaj Olay Günlüğünde yer alacaktır.
y` - Tüm kapatma sorgularına "yes" yanıtını zorlar.
Not: Bu seçenek herhangi bir resmi belgede belgelenmemiştir. Bu StackOverflow kullanıcıları]2 tarafından keşfedilmiştir.
Bu cevapla birlikte diğer bazı gerçekten iyi cevaplardan da bahsedildiğinden emin olmak istiyorum. İşte belirli bir sıraya göre değiller.
-f
optionrundll32
Uzak bir makinedeyseniz, yeniden başlatmayı zorlamak için -f seçeneğini de eklemek isteyebilirsiniz. Aksi takdirde oturumunuz kapanabilir ve inatçı bir uygulama sistemi kilitleyebilir.
Anında yeniden başlatmaya zorlamak istediğimde bunu kullanıyorum:
shutdown -t 0 -r -f
Daha dostane bir "onlara biraz zaman ver" seçeneği için bunu kullanabilirsiniz:
shutdown -t 30 -r
Yorumlarda görebileceğiniz gibi, -f zaman aşımı tarafından ima edilmektedir.
Brutus 2006 bu seçenekler için bir GUI sağlayan bir yardımcı programdır.
Orijinal cevap: Ekim 2008
Ayrıca tüm " serilerini de aldınız:rundll32.exe shell32.dll
"
(aşağıdaki güncellemeye bakınız)
rundll32.exe user.exe,**ExitWindows**
[Windows'un Hızlı Kapatılması]
rundll32.exe user.exe,**ExitWindowsExec**
[Windows'u Yeniden Başlat]
rundll32.exe shell32.dll,SHExitWindowsEx n
burada n
anlamına gelir:
LOGOFF
KAPATMA
REBOOT
KUVVET
POWEROFF
(birleştirilebilir -> 6 = 2+4 FORCE REBOOT
)
1800 BİLGİ nazikçe yorumlarda işaret etmektedir:
Bu amaç için rundll32.exe
dosyasını kullanmayın. Komut satırında aktardığınız işlevin çok özel bir yöntem imzasına sahip olmasını bekler - ExitWindows
yöntem imzasıyla eşleşmez.
Raymond CHEN yazdı:
rundll32.exe
tarafından çağrılan işlevler için gerekli işlev imzası:
void CALLBACK ExitWindowsEx(HWND hwnd, HINSTANCE hinst,
LPSTR pszCmdLine, int nCmdShow);
Bu durum, insanların rundll32
tarafından çağrılmak üzere tasarlanmamış user32 LockWorkStation
veya user32 ExitWindowsEx
gibi rastgele işlevleri çağırmak için rundll32
kullanmalarını engellememiştir.
(oops)
ExitWindowsEx için gerçek fonksiyon imzası şöyledir:
BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);
Ve bunu kristal berraklığında yapmak için:
Rundll32
Windows 95'ten kalmadır ve birçok modern mühendislik kuralını ihlal ettiği için en azından Windows Vista'dan beri kullanımdan kaldırılmıştır.