IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

limitation de durée d'utilisation d'XP


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Par défaut limitation de durée d'utilisation d'XP
    Bonjour, j'ai réalisé un petit script VBS pour restreindre mon fils (grand ado accro de sa bécane) dans l'utilisation de XP Pro à 2 heures.

    (PS : L'accès à la machine est réduit par le recours à netuser ... qui n'est cependant pas capable d'éteindre la machine.)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set  SH = CreateObject ("WScript.Shell")
    wscript.sleep 1000*60*120
    SH.Run "shutdown -s -f -t 60 -c "Délai utilisation dépassé; Extinction imminente." ", 0, True
    Je souhaiterais que ce script se lance à l'allumage de la machine et n'apparaisse pas dans le menu démarrer.

    1) Il semble que le commentaire plante l'appel (à cause des " de la 3e ligne)
    2) Lorsque j'enlève -c "Délai utilisation dépassé; Extinction imminente." , le script fonctionne quand je le teste avec VBFactory ou l'appelle manuellement.
    Cependant, j'ai beau appeler le fichier .vbs via la GPO (gpedit.msc) par les 2 config (statégie ordinateur local et configuration utilisateur), séparément ou conjointement => aucun lancement automatique.

    Y a-t-il une option cachée qq part ? une subtilité que l'un d'entre vous pourrait m'indiquer ... ou une autre méthode ... qui fonctionne ?
    Merci à vous

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Deux ou trois choses :
    1) Un string se met entre " en vbs
    2) un commentaire se fait à l'aide de '
    3) tu ne peux pas placer un commentaire au milieu d'une commande. Lorsque tu met le ' tout ce qui se trouve après est du commentaire. Valable uniquement pour la ligne en cours, les autres lignes ne sont pas affecté.

    Pour GPedit.msc, je t'ai mis ce que je faisais une fois la consle lancé (voir les images).
    Images attachées Images attachées   

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Par défaut
    Merci à toi, ced600
    Tout à fait d'accord avec tes 3 remarques; j'avais opéré comme tu le montres sur les captures d'écran, ce qui m'a rassuré.
    Ceci dit, shutdown peut admettre comme argument un commentaire qui s'affiche dans la boite d'info de l'extinction. Ce commentaire doit être précédé de -c, puis un espace et le texte mis entre guillemets.
    Ce sont ces guillemets qui plantent le script. J'ai tenté en vain de les remplacer par chr$(34) & blablabla & chr$(34).

    J'ai remarqué ce soir que mon script (en enlevant -c ...) fonctionne lorsque je le place dans la config de l'ordi via gpedit.msc, que j'arrête ma bécane et que je la rallume ensuite, après extinction complète. Je m'évertuais à redémarrer entre les essais infructueux ! Seul problème restant pour l'instant (outre le commentaire que je dois zapper) : au démarrage, le système affiche durant 30 secondes (ou plus ?) qu'il exécute des scripts windows puis poursuit l'allumage. Tout cela est-il normal, docteur ?

    Merci à vous pour votre colaboration

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Pour que les scripts puissent s'exécuté, il faut se loguer sur l'ordinateur, et sous windows je l'ai toujours vue afficher qu'il execute des scripts de démarrage, quand il en exécute. Enfin c'est peut être possible de le masquer, je n'ai cherché à le faire.

    Je n'avais pas bien regarde ton script, si tu veux mettre des guillemets dans un string, il faut utiliser le caractère " et la concaténation pour t'y retrouver, comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SH.Run "shutdown -s -f -t 60 -c " & """Délai utilisation dépassé; Extinction imminente.""" & " ", 0, True
    Sans concaténétion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SH.Run "shutdown -s -f -t 60 -c ""Délai utilisation dépassé; Extinction imminente."" ", 0, True
    Mais sur la faq tu devrais avoir toutes les informations concernant ce point

    Une dernière chose, si j'étais ton fils, je n'aurais aucun problème pour supprimer le script sans que tu ne t'en aperçoive
    Donc je ne suis pas sur que cela soit super efficace, enfin bien sur cela dépend des compétences informatiques de ton fils

    Si tu veux que le script prenne effet sans avoir besoin de se loguer, bien que cela ne soit aps forcement utile, sauf qu'il n'y aura pas de message, tu peux créer un service Windows. Très facile en C# sous visual studio. Mais bon un service c'est assez facile à arrêter, et redémarrer.
    Tu peux aussi faire un autre service qui surveille le premier, et celui-ci surveille le premier, avec remise d'une bonne configuration des deux services en cas d'arrêt, et un redémarrage du PC en punition
    Au boulot un antivirus lance trois service, un exécutable, et deux scripts. Il s'auto surveille tous et provoque le redémarrage du PC. J'ai mis du temps avant de tous les trouver et de faire un script désactivant cet antivirus qui prend 100 % des ressources pendant 30 sec toutes les 5 minutes

    Bref pour dire que aucun système ne sera infaillible, mais que déjà deux services Windows s'auto surveillant serait une solution pas très simple à désactiver.

    Au cas où tu t'y interesse voici un premier lien sur la création de service windows :
    http://msdn2.microsoft.com/fr-fr/lib...c9(VS.80).aspx

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Par défaut
    Ouh lala ... là, je commence à décrocher un peu et je commence à me demander si le jeu en vaut vraiment la chandelle !
    Ceci dit, je suis très surpris de n'avoir pas trouvé grand chose pour un problème (que j'imaginais) assez banal ou commun à d'autres parents.

    Je reprendrai peut-être le fil lorsque j'aurai un peu de temps libre.
    Merci à nouveau Cell600 pour ta réponse et ta disponibilité.

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Bah comme j'ai dit cela dépend des capacités de ton fils.
    Peut être qu'il ne saura jamais comment désactiver ton script.

    En entreprise, le meilleur moyen qu'il a été trouvé pour limiter les actions des utilisateurs restent l'utilisation de serveur connectés sur le réseau.
    A l'aide d'outil installé sur la machine local, ils peuvent espionner les activités, en limités certaines et savoir lorsque leurs outils sont désactivé. De plus en étant possesseur du compte admin sur la machine, à partir de ces serveurs, ils est possible de controler la machine à distance.

    Une solution utilisé peut être un "Ibureau". Un PC simple connecté au réseau avec un windows installé dessus. Si je ne me trompe, avec cette solution, l'utilisateur n'a pas de bureau sur le poste local, il en récupère un par le réseau fournis par un serveur. Et donc se serveur contrôle totalement le bureau à distance. Bon je ne connais pas trop cette solution.

    Mais bon tout cela c'est long et couteux à mettre en place

    Une autre solution possible, mais cette fois-ci elle est physique :
    Je crois qu'il existe des multiprise avec compte à rebours. Du genre au bout de 2 heures d'utilisation, coupure de courant opéré par la multiprise. Tu associe cela à ton script, et ton fils n'aura plus d'interet à le désactiver car au bout de deux heures : plus de courant
    Pour éviter qu'il n'utilise une autre multiprise en déconnectant la tienne, il faux prendre une multi qui à un cache qui viens se rabattre sur les prises branchés et qui a un cadena pour empecher d'ouvrir le cache.

    Bon ce n'est pas très discret, mais cela à le mérite d'être efficace
    (Ha ne pas oublier de mettre un cache derrière la tour au niveau des connectiques parce que sinon le système ne sert à rien )

    Enfin peut être que la meilleur solution reste :
    Pas plus de 2 heures sur le pc sinon tu es privés de sortis pendant 1 semaine
    Et de le punir la fois où tu le surprends enfreindre cette règle.

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/08/2007, 03h02
  2. recherche code pour limiter une lister et utiliser les bouton suivant precedent
    Par carmen256 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/09/2006, 17h43
  3. Réponses: 10
    Dernier message: 01/08/2006, 14h16
  4. Comment limiter la durée d'utilisation d'une appli
    Par le lynx dans le forum Access
    Réponses: 2
    Dernier message: 26/06/2006, 16h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo