À 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.
la source
Réponses:
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:
start
->Control Panel
View by
surCategory
si cela n'est pas déjà fait.Set up parental controls for any user
.(x) On, enforce current settings
Time limits
C'est ça. L'utilisateur sera averti avant d'être déconnecté.
la source