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

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Points : 6
    Points
    6
    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 : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    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   
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

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

    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Points : 6
    Points
    6
    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 : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    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
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

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

    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Points : 6
    Points
    6
    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 : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    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.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  7. #7
    Membre éprouvé Avatar de cubitus91
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 726
    Points : 933
    Points
    933
    Par défaut
    Pourquoi ne pas lui autorisé deux heures par jour de 18 à 20 par exemple avec les systémes de restriction des heures d'accés. Apres tu peux empécher son accés à l'aide de GPEDIT par exemple. Je te laisse ce lien
    http://www.pcastuces.com/pratique/wi...estreindre.htm

    Mais comme le dis ced600, la meilleur solution serait de le punir si vous le prennez en dehors des heures d'utilisation. Car toute les démarches que vous entreprendrez seront contournable. Et il y a aussi une confiance à avoir.
    Cdt et bon courage.

    [EDIT] sinon tu peux voir du cotés de SteadyState, tu pourras définir pas mal de choses dont la durée d'utilisation du pc.
    http://www.microsoft.com/windows/pro...s/default.mspx
    [Fin Edit]
    Le tag est bien utile, alors pensez y !

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par cubitus91 Voir le message
    Pourquoi ne pas lui autorisé deux heures par jour de 18 à 20 par exemple avec les systémes de restriction des heures d'accés. Apres tu peux empécher son accés à l'aide de GPEDIT par exemple. Je te laisse ce lien
    http://www.pcastuces.com/pratique/wi...estreindre.htm

    Mais comme le dis ced600, la meilleur solution serait de le punir si vous le prennez en dehors des heures d'utilisation. Car toute les démarches que vous entreprendrez seront contournable. Et il y a aussi une confiance à avoir.
    Cdt et bon courage.

    [EDIT] sinon tu peux voir du cotés de SteadyState, tu pourras définir pas mal de choses dont la durée d'utilisation du pc.
    http://www.microsoft.com/windows/pro...s/default.mspx
    [Fin Edit]
    C'est justement là le Pb ... la confiance n'est plus là puisqu'il avait demandé à restreindre l'utilisation de son ordi pour finalement contourner net user ... en changeant systématiquement l'heure de son bios. (De plus, net user n'arrête pas sa bécane à l'heure prévue (XP pro pourtant!).
    Les tentatives de compromis ont succédé aux sanctions et autres mesures d'accompagnement. C'est déjà une trop longue histoire que celle (trop... beaucoup trop stérile) de ce garçon avec les ordinateurs.
    Il est désormais d'âge à assumer les choix qu'il fait malgré nos mises en garde...
    Le problème posé, en termes informatiques, est-il pour autant résolu ?
    Je laisse le choix au modérateur

    Merci à vous

  9. #9
    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 : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Bah fait nous un récapitulatif d'où tu en es. Mes indications t'ont elles permis de faire une script qui arrête la machine à l'heure prévu ?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    Salut,

    J'ai un problème sensiblement similaire: deux enfants, trois ordinateurs et je veux limiter le temps d'accès de tout ce beau monde en créant un forfait jour/semaine au delà duquel la connexion à n'importe laquelle des machines est interdite à un utilisateur.
    J'ai bien chercher parmi les outils de contrôle parental (Enuff, Avanquest/Contrôle-Parental, ParentalFilter, CybePatrol,FreeAngel...). Ces outils répondent presque à mes besoins si ce n'est qu'ils sont mono-postes. L'idéal eut été un système qui gère aussi les autres types d'écran (Wii, télévision) mais il ne faut pas rêver.

    N'ayant rien trouvé qui puisse approcher, peu ou prou, ces pré-requis, je suis résolu à développer moi même le petit script qui assurera cette fonction.
    J'envisage de placer un fichier qui stockerait les décomptes de chaque utilisateur sur une page web que l'on mettrait à jour chaque minute en appelant un script php. Simultanément un compteur du type de celui développé ci-dessus décompterait le temps encore disponible pendant la session. Lorsque le forfait jour/semaine est dépassé la session est fermée et il n'est pas possible d'en ouvrir une autre sur une autre machine puisque le compteur php sert de référent.
    Bon je n'ai pas commencé alors si quelqu'un a avancé sur ce point cela limiterait ma tâche, sinon je vous tiendrai au courant !

  11. #11
    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 : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Tes enfants sont douées en informatique ?

    Comme tu es partis sur le terme enfant directement et non ado, grands enfants, ... J'ai commencé à supposer qu'ils sont jeunes.

    Si c'est le cas alors tu ne cours peut être pas le risque qu'il supprime le script sans que tu t'en apercoives

    Dans ce cas tu as plus simple, un script au démarage qui lance un timer, et à l'arrêt tu enregistre la valeur du timer dans un fichier. Au redemarrage tu prends comme valeur pour le timer ced que tu as enregistré précédement.

    Lorsque cela arrive à zero tu enregistre la date et tu arrêtes le PC.
    Au démarage de la machine si le timer est à Zéro, tu regardes depuis combien de jour, et tu calcules si on est déjà le prochain lundi :
    La je prends un exemple où tu remet à jour le forfait tous les lundi.
    Genre le forfait est mort le Jeudi, on est dimanche, cela moins de 7 jours, et donc comme pas encore lundi -> on eteint tout. Si plus de 7 jours, c'est bon on rajoute un nouveau credit.

    En local sur chacun des postes, et pas besoin de serveur.

    A moins que tu souhaites accordere un forfait unique pour tout et tu les laisses se débrouiller pour qu'il les gère.

    Bon j'ai pas de tel script pour t'aider, mais is tu as un problème technique précis n'hesite pas à poster sur le forum

    Bloquer la Wii -> faut pas réver je ne pense pas que tu puisse y insérer les programmes que tu veux

    Ha une idée pour éviter d'utiliser un serveur. Fait une application Peer To Peer avec base de données distribuées en VBS
    Bon courage

    As tu pensé au cable ?
    Si tes enfants débranche la connexion avec le serveur et que tu ne le gères pas, cela va être difficille.


    Ha le contrôle parentale !!! Depuis que quelqu'un l'a mis en place tout le monde veut le faire.

    Et dire que moi lorsque j'étais Enfant/Ado il suffisait que mes parents me disent fait pas cela et je ne le faisait pas, du moins pas quand ils étaient à la maison
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

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