Empêcher les utilisateurs de Windows 7 d’annuler l’arrêt (désactivation de shutdown -a)


4

À partir du compte d’administrateur Windows 7, j’ai configuré une tâche planifiée avec les privilèges max qui exécutent un fichier .cmd qui s’exécute.

shutdown -s -f -t 120

s'il se trouve que l'utilisateur est connecté et qu'il a dépassé les heures autorisées.

L'utilisateur n'a que des droits d'utilisateur, mais il peut toujours annuler mon arrêt forcé par l'administrateur en saisissant dans la zone Exécuter

shutdown -a. 

Comment empêcher un utilisateur d'annuler et un arrêt émis par l'administrateur? UAC est activé. Merci.

Mon dernier fichier .cmd est le suivant:

@echo off for /f "delims=" %%? in ('tasklist /v^| findstr /B /C:"explorer.exe"') do call :USERis %%? :USERis echo/%*|find "username">nul 2>&1&&(set "liet=username") echo/%*|find "Administrator">nul 2>&1&&(set "liet=Administrator") echo/%liet% if %liet%==username ( msg /server:localhost * /time:120 "Computer is shutting down in 2 minutes!" timeout /T 120 shutdown -s -f -t 0 -c "Computer is shutting down!" ) else ( echo Admin logged in! echo Do nothing exit ) exit

Il est programmé de s'exécuter de manière répétée toutes les 3 minutes pendant 8 heures, période pendant laquelle le PC devrait être hors de portée de l'utilisateur. Ainsi, même si le PC est redémarré, il est toujours arrêté si l'utilisateur est connecté. Le Bios a configuré le mot de passe, la date et l'heure ne peuvent pas être modifiées à partir du profil utilisateur. N'a pas vérifié si le menu de démarrage du BIOS fonctionne (pour démarrer Linux et changer l'heure). Les utilisateurs sont Linux stupide cependant.


Au lieu de configurer une tâche planifiée pour exécuter la commande d'arrêt avec un délai d'expiration, pourquoi ne créez-vous pas une tâche planifiée pour éteindre l'ordinateur alors que vous voulez qu'il s'éteigne?
Vinayak

Réponses:


3

Cette question a 2 réponses différentes. Celui qui répond directement à votre question, et qui est comment vous devriez l’établir.

Solution à votre question

Vous ne pouvez pas empêcher un utilisateur d'abandonner un arrêt avec une minuterie, mais si vous réglez cet arrêt sur -t 0 (arrêt immédiat), vous ne pourrez pas l'éviter avec une commande shutdown -a. Vous pouvez donc lancer une deuxième tâche qui s'exécute 2 minutes plus tard et qui effectuera un arrêt -s -f -t 0 pour éteindre le PC. L'utilisateur verra d'abord une minuterie de 2 minutes et même s'il l'abandonne, le système s'arrêtera 2 minutes plus tard.

Comment résoudre ce problème

Windows propose un contrôle parental avec heures de connexion. Cette configuration déconnectera l'utilisateur lorsque le délai de connexion aura expiré. Contrairement à votre solution, l'utilisateur ne peut pas simplement allumer l'ordinateur et / ou se reconnecter. S'ils tentent, ils recevront un message: les heures de connexion ont expiré. Attendez d'avoir le droit de vous connecter à nouveau.

Pour configurer cela, procédez comme suit:

  1. Aller à start->Control Panel
  2. En haut à droite, Définissez View bysur Categorysi cela n'est pas déjà fait.
  3. Cliquez sur Set up parental controls for any user.
  4. Cliquez sur l'utilisateur que vous souhaitez limiter.
  5. Régler le contrôle parental sur (x) On, enforce current settings
  6. Cliquez sur Time limits
  7. Dessinez / remplissez les blocs où l'utilisateur n'est pas autorisé à utiliser l'ordinateur. Vous pouvez utiliser le glisser / déposer du coin supérieur gauche pour remplir une grande zone de blocs.
  8. Cliquez sur Okpour rendre cette finale.

C'est ça. L'utilisateur sera averti avant d'être déconnecté.


Merci, je ne savais pas que M $ avait ajouté quelque chose comme ça :) Quoi qu’il en soit, j’ai utilisé les deux options (mon arrêt .cmd avec 0 sec et contrôle parental). Je vais voir comment ils vont et ensuite peut-être en retirer un.
DebianJunkie

N'a pas été testé, mais il pourrait également être possible de simplement modifier les autorisations NTFS sur la commande shutdown afin que les non-administrateurs n'aient pas accès à la commande.
Multiverse IT

@MultiverseIT Pourquoi voudriez-vous réinventer la roue si Microsoft dispose déjà de cette fonctionnalité?
LPChip

Un utilisateur doit pouvoir éteindre l'ordinateur manuellement afin que la modification permanente des autorisations ntfs ne fonctionne pas. Ma pensée était de renommer shutdown.exe juste après le début de l’arrêt de 120 secondes et, après le redémarrage, shutdown.exe.bak pourrait être renommé. J'imagine que l'on pourrait faire la même chose en modifiant les autorisations en ligne de commande. Je ne suis pas allé dans cette voie cependant.
DebianJunkie

@ DebianJunkie encore, utiliser le contrôle parental est une bien meilleure solution. Il ne déconnectera que cet utilisateur spécifique et, sur l'écran de connexion, un bouton d'arrêt vous permettra d'éteindre l'ordinateur. L'événement d'arrêt avertira un utilisateur si un autre utilisateur est toujours connecté.
LPChip
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.