Comment puis - je fermer - redémarrer-déconnecter Windows via un fichier bat?
j'ai utilisé Remote Desktop Connection pour accéder à une station de travail, mais je ne suis pas en mesure d'utiliser la fonction Arrêt/Redémarrage dans le menu Démarrer tout en faisant cela.
j'ai mis quelques options vraiment utiles dans la réponse ci-dessous.
Note: Je voulais m'assurer que de très bonnes réponses étaient également mentionnées avec les miennes.
et ici ils ne sont pas ordre particulier.
- forcer l'arrêt de JosephStyons
- exécution du fichier DLL de VonC
- Exécuter à partir de la Boîte de dialogue Exécuter à partir de Doyen
- l'Arrêt à Distance à partir de Kip
9 réponses
Voici comment faire les fonctions d'arrêt via un fichier batch:
-
shutdown -r
- redémarre -
shutdown -s
- shutdown -
shutdown -l
- fermeture de session -
shutdown -t xx
- oùxx
est le nombre de secondes à attendre jusqu'à l'arrêt / redémarrage /déconnexion -
shutdown -i
- vous donne une boîte de dialogue pour remplir quelle fonction vous voulez utiliser -
shutdown -a
- annule la commande d'arrêt précédente....très pratique! -
shutdown -h
- mise en veille prolongée. erreur facile - ce n'est pas pour de l'aide -
shutdown -y
- supprime toutes les invites à l'arrêt (aide non disponible dans aucune documentation)
options supplémentaires:
-
-f
- forcer l'action choisie -
-t <seconds>
- heure D'arrêt. Utilisez-t 0
pour" maintenant " -
-c <message>
- Ajoute le Message à l'Arrêt
si vous êtes sur une machine distante, vous pouvez également ajouter l'option-f au forcer le redémarrage. Sinon votre session peut fermer et une application têtue peut accrocher le système.
j'utilise ceci chaque fois que je veux forcer un redémarrage immédiat:
shutdown -t 0 -r -f
pour une option plus conviviale "donnez-leur du temps", vous pouvez utiliser ceci:
shutdown -t 30 -r
Comme vous pouvez le voir dans les commentaires, le -f est implicite par le timeouts.
Brutus 2006 est un utilitaire qui fournit une interface graphique pour ces options.
personne n'a mentionné -m
option pour l'arrêt à distance:
shutdown -r -f -m \machinename
Aussi:
- le paramètre
-r
provoque un redémarrage (ce qui est généralement ce que vous voulez sur une machine distante, car le démarrage physique peut être difficile). - l'option de paramètre
-f
force le redémarrage. - vous devez avoir les privilèges appropriés pour arrêter la machine à distance, de cours.
réponse Originale à cette question: Oct. 2008
Vous avez également eu tous les " série: rundll32.exe shell32.dll
"
(voir Mise à jour ci-dessous)
-
rundll32.exe user.exe,**ExitWindows**
[fermeture rapide de Windows] -
rundll32.exe user.exe,**ExitWindowsExec**
[Redémarrez Windows]rundll32.exe shell32.dll,SHExitWindowsEx n
où n
signifie:
- 0 -
LOGOFF
- 1 -
SHUTDOWN
- 2 -
REBOOT
- 4 -
FORCE
- 8 -
POWEROFF
(peut être combiné -> 6 = 2+4 FORCE REBOOT
)
mise à Jour en avril 2015 (+de 6 ans plus tard):
1800 INFORMATION sur dans les commentaires :
N'utilisez pas
rundll32.exe
à cette fin. Il s'attend à ce que la fonction que vous avez passée sur la ligne de commande ait une signature de méthode très spécifique - elle ne correspond pas à la signature de méthode deExitWindows
.
Raymond CHEN wrote:
la signature de fonction requise pour les fonctions appelées par
rundll32.exe
est:
void CALLBACK ExitWindowsEx(HWND hwnd, HINSTANCE hinst,
LPSTR pszCmdLine, int nCmdShow);
qui n'a pas empêché les gens d'utiliser
rundll32
pour appeler des fonctions aléatoires qui n'ont pas été conçues pour être appelées parrundll32
, commeuser32 LockWorkStation
ouuser32 ExitWindowsEx
.
(oups)
la fonction actuelle de signature pour ExitWindowsEx est:
BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);
Et de le rendre limpide:
Rundll32
est un reliquat de Windows 95, et il a été déprécié depuis au moins Windows Vista parce qu'il viole un grand nombre de directives modernes d'ingénierie.
une autre petite astuce: en allant dans la route des fichiers batch, j'aime pouvoir l'annuler au cas où je l'exécute accidentellement. Ainsi le fichier batch invoque l'arrêt mais vous laisse à l'invite de commande après.
@echo off
echo Shutting down in 10 seconds. Please type "shutdown /a" to abort.
cmd.exe /K shutdown /f /t 10 /r
de plus, comme il est sur une minuterie, vous obtenez à peu près le même frisson que vous faites quand chasse dans le sentier de L'Oregon .
lorsque remotted dans une machine (la cible est Windows XP de toute façon; je ne suis pas sûr de cible Windows Vista), bien que Shutdown sur le menu de départ est remplacé par déconnexion Session ou quelque chose comme ça, il devrait y avoir un appelé" Windows Security "qui fait également la même chose que Ctrl + Alt + End comme indiqué par Owen.
vous êtes probablement au courant de cela, mais juste au cas où: il est beaucoup plus facile de taper shutdown -r
(ou n'importe quelle commande que vous aimez) dans la boîte" Run " et de frapper enter.
évite de laisser traîner des fichiers par lots partout.
j'écrirais ceci dans Notepad ou WordPad pour une commande de logoff de base:
@echo off
shutdown -l
c'est essentiellement la même chose que de cliquer sur Démarrer et se déconnecter manuellement, mais c'est juste un peu plus rapide si vous avez le fichier batch prêt.
je suis en retard à la fête, mais n'a pas vu cette réponse. Quand vous ne voulez pas utiliser un fichier batch ou taper la commande. Vous pouvez simplement mettre le focus sur le bureau et ensuite utiliser Alt + F4 .
Windows vous demandera ce que vous voulez faire, sélectionnez Arrêter ou redémarrer.
pour des screenshots et même une vidéo, voir: https://tinkertry.com/how-to-shutdown-or-restart-windows-over-rdp