Windows 7 - Comment exécuter un script à l’arrêt mais pas à la fermeture de session

6

Je me demandais si quelqu'un savait comment configurer une installation Windows 7 x64 Entreprise située sur un domaine pour exécuter un script si l'utilisateur tentait d'éteindre l'ordinateur - mais je ne souhaite pas que le script s'exécute si l'utilisateur essaie de se déconnecter.

Voici un peu de détail sur ma situation ...

J'ai installé un logiciel de chiffrement de lecteur sur 5 ordinateurs de bureau utilisés par différentes personnes de mon groupe. Ces ordinateurs de bureau sont installés quelques bâtiments plus loin dans un laboratoire sécurisé auquel peu de gens ont accès. Les membres de mon groupe accèdent à ces machines (8 processeurs Core 2600K d'Intel Sandybridge avec 8 Go de RAM) via RDP pour effectuer des tâches nécessitant de lourdes charges pour lesquelles les ordinateurs portables ne conviennent pas.

J'ai écrit un script d'arrêt (fichier .hta) pour avertir un utilisateur que, s'il / elle éteignait l'ordinateur, il devait avoir accès au laboratoire et entrer le mot de passe de cryptage du lecteur pour remettre la machine en ligne. Le script a une minuterie qui compte à rebours pendant 1 minute et permet à l'utilisateur d'annuler la commande d'arrêt.

Le script fonctionne comme prévu lorsqu'un utilisateur tente d'éteindre l'ordinateur, mais je viens de me rendre compte que le script semble s'exécuter lorsqu'un utilisateur tente de se déconnecter. Existe-t-il un moyen de différencier un utilisateur en fermeture de session d'un utilisateur en arrêt d'une machine? Si possible, je voudrais que le script ne soit exécuté que si la machine est éteinte. Si l'utilisateur se déconnecte, je ne souhaite pas qu'un script soit exécuté.

Si cela est possible, il semble que cela serait géré via la stratégie de groupe locale.

Faites-moi savoir si vous avez besoin de plus amples détails.

Richie086
la source
2
pourquoi ne pas simplement les empêcher de s'arrêter? Quand j'ai dirigé un laboratoire informatique, c'est ce que j'ai fait.
MDT Guy

Réponses:

3

Il y a deux façons d'y parvenir. Si vous avez un domaine Active Directory, voici ce que je conseille, car ce serait le plus simple à configurer. Vous pouvez simplement ajouter ces ordinateurs spéciaux à leur propre unité d'organisation et appliquer un objet de stratégie de groupe à l'unité d'organisation. Sinon, vous devrez appliquer le script d'arrêt à l'aide du gestionnaire de stratégie locale sur chaque ordinateur:

Arrêter les scripts via la stratégie de groupe:

http://technet.microsoft.com/en-us/library/cc783802%28v=ws.10%29.aspx

Arrêter les scripts via la stratégie locale:

http://technet.microsoft.com/en-us/library/cc770300.aspx

Cependant, par défaut, les sorties d'arrêt ne sont pas visibles par défaut. Vous devrez apporter un autre changement aux stratégies pour vous assurer qu'elles sont:

http://technet.microsoft.com/en-us/library/cc940430.aspx

Je ne sais pas si un HTA fonctionnera, mais si vous voulez simplement vous assurer qu'un message s'affiche avant la fermeture, vous pouvez facilement le convertir en fichier .vbs ou .bat.

Dion Pezzimenti
la source
Juste un conseil: si vous utilisez AD, vous n'avez pas besoin d'avoir les ordinateurs dans leur propre unité d'organisation. Vous pouvez placer les ordinateurs dans un groupe et laisser uniquement l'objet de stratégie de groupe s'appliquer à ce groupe.
Patrick Seymour
1

Donc, je l'ai compris moi-même - mais pas sans l'aide de tout le monde - alors merci.

Je viens de remarquer ce qui suit

Il existe des objets de stratégie de groupe pour les scripts d'arrêt et de fermeture de session.

Les scripts de déconnexion se trouvent dans Configuration utilisateur / Paramètres Windows / Scripts (Connexion et déconnexion)

Les scripts d'arrêt se trouvent dans Configuration de l'ordinateur / Paramètres Windows / Scripts (démarrage / arrêt).

Richie086
la source
0

Oui, dans la stratégie de groupe, vous pouvez placer le script dans

Computer Configuration\Windows Settings\Scripts\Shutdown

Cependant, ne soyez pas surpris si des personnes partent après la fermeture de la machine et ne voient jamais votre message. Je désactiverais l'arrêt, comme cela était laissé dans les commentaires de votre question.

MDMoore313
la source
J'ai déjà désactivé l'arrêt, mais qu'est-ce qui empêche quelqu'un d'exécuter shutdown / s / t 0 à l'invite d'exécution? De plus, comment pourrais-je éteindre la machine si nécessaire autrement que d'aller au laboratoire sécurisé et de vous connecter localement? Cet objet de stratégie de groupe s'applique-t-il uniquement aux utilisateurs non-administrateurs ou à tous les utilisateurs de ce système?
Richie086
désactiver l'accès à l'invite d'exécution arrêterait cela, c'est exact, cela ne s'applique pas aux administrateurs locaux.
MDMoore313
@BigHomie au lieu de "run prompt", ils peuvent créer un raccourci. Et si même cela ne les aiderait pas, ils pourraient simplement débrancher la prise. Ce n'est pas mieux, alors vaut mieux les laisser s'arrêter gracieusement.
LogicDaemon