Windows 2012: comment faire fonctionner le bouton d'alimentation dans tous les cas?

9

J'ai besoin que certains serveurs Windows 2012 soient correctement arrêtés avec le bouton d'alimentation.

  • Si personne n'est connecté, le bouton d'alimentation arrête correctement le serveur
  • Si quelqu'un est connecté sans programme de blocage, ça va aussi

Mais:

  • si une session est verrouillée, le bouton d'alimentation ne fait rien
  • si quelqu'un est connecté avec un programme de blocage (bloc-notes avec un document non enregistré par exemple), le bouton ne fait rien de trop

Avec les versions précédentes de Windows, j'avais l'habitude de configurer le comportement du bouton d'alimentation avec l'interface graphique et de modifier une clé de registre ( HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system\shutdownwithoutlogon) mais cela ne semble plus pertinent.

Est-ce que quelqu'un connaît la voie "officielle" ou une astuce?

Modifier:
le journal système affiche un événement chaque fois que j'appuie sur le bouton d'alimentation. The kernel power manager has initiated a shutdown transitionavec l'ID d'événement 109.
Lorsque la session est verrouillée, cet événement n'est suivi de rien. Et pas d'autres événements dans d'autres journaux.
Lorsqu'un programme refuse de fermer, j'ai l'entrée de journal correspondante, donc ce sera bien bientôt.

Gregory MOUSSAT
la source
2
Montrez à ces foutus interrupteurs intelligents qui sont vraiment intelligents: tirez le cordon d'alimentation F ^ &% # ing du mur!
Ward - Rétablir Monica

Réponses:

5

Le fait que vous ne puissiez pas éteindre un serveur 2012 lorsqu'une session est verrouillée est probablement de par leur conception. J'ai fait face à un besoin similaire et je ne connais aucune modification de politique ou de registre pour le permettre.

J'ai utilisé une astuce simple: j'ai capturé l'événement du bouton d'alimentation qui exécute simplement mon shutdown.exe préféré avec les paramètres souhaités après une temporisation.
Si vous utilisez les paramètres d'arrêt corrects, vous ne serez pas bloqué par les programmes ouverts.

Pour capturer des événements, ouvrez simplement le planificateur de tâches et créez une tâche déclenchée sur l'ID d'événement souhaité.

Bertrand SCHITS
la source
3
Pour référence, la commande que j'utilise est: shutdown / s / t 10 / dp: 0: 0
Gregory MOUSSAT
4
Également pour référence, l'événement dans mon cas est un événement de base avec ces propriétés Journal: Système, Source: Kernel-Power, ID d'événement: 109
ndemou
1

Découvrez AutoEndTasks :

Vous pouvez la définir pour tous les utilisateurs en créant la clé ici vs HKCU: HKEY_USERS.DEFAULT \ Control Panel \ Desktop

En outre, certains réglages peuvent être effectués via une stratégie de groupe qui peut être trouvée ici: Configuration ordinateur> Modèles d'administration> Système> Options d'arrêt> Désactiver l'arrêt automatique des applications qui bloquent ou annulent l'arrêt

Les options de réglage supplémentaires que vous voudrez peut-être examiner sont: WaitToKillServiceTimeout , WaitToKillAppTimeout , HungAppTimeOut

Je vais également appuyer ce que MarcoZink a déclaré, vérifier votre bios et vérifier qu'aucun paramètre spécial configuré pour votre bouton d'alimentation ne peut bloquer les choses.

NPS
la source
1
Je n'approuverais pas ce que MarcoZink a déclaré à propos du BIOS car la question indique clairement "Si personne n'est connecté, le bouton d'alimentation arrête correctement le serveur"
ndemou