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.

621
demandé sur Community 2008-10-02 17:37:01

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
1127
répondu Keng 2018-03-02 09:27:59

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.

371
répondu JosephStyons 2014-12-21 23:48:54

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.
81
répondu Kip 2009-01-06 14:51:57

réponse Originale à cette question: Oct. 2008

Vous avez également eu tous les " rundll32.exe shell32.dll " série:

(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
    

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 de ExitWindows .

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 par rundll32 , comme user32 LockWorkStation ou user32 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.

38
répondu VonC 2017-05-23 11:55:19

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 .

9
répondu Gavin 2011-06-10 03:12:53

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.

7
répondu Carl 2017-05-28 22:57:09

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.

7
répondu Dean Rather 2018-06-12 22:11:24

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.

4
répondu Peter Mortensen 2017-05-28 22:58:01

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

4
répondu msoft 2018-08-15 14:59:47