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 :

Probleme d'ecriture dans un fichier en vbs lancé par GPO.


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 172
    Par défaut Probleme d'ecriture dans un fichier en vbs lancé par GPO.
    Bonjour,

    J'ai un problème avec un script en vbs, je vous explique. Mon script est dans une GPO et s'exécute à l'ouverture de session des utilisateurs de mon réseau. Le but du script est d'ouvrir un fichier texte, de rechercher dans le fichier l'adresse IP de l'utilisateur qui a ouvert la session, et d'ajouter dans la ligne trouvé le nom de l'utilisateur et la date courante. Ce qui me permet d'avoir un état en temps réel de mon parc avec les adresses IP utilisée.

    Après j'exploite ce fichier avec une appli que j'ai faite en visual c#.

    Le script fonctionne très bien, le problème c'est que parfois je retrouve mon fichier texte complétement effacé, ou parfois il reste seulement la moitié du fichier.
    Je ne pense pas que l'erreur vienne du script, mais selon vous, est-il possible que si trop d'utilisateur se connecte simultanément, ça fasse planté le script et corrompt le fichier ? C'est la seule explication que j'ai pour l'instant.

    Si vous avez d'autres idées.

    Merci.

  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
    Si je me souviens bien un fichier ouvert pas un script VBS et donc par un processus windows n'est plus disponible pour un autre processus.
    Si tu as vraiment des connexions simultané sur le poste, tu peux avoir des problèmes d'accés concurrents à ta ressource partagé.
    Il faut alors gérer cela avec des systèmes de notifications qui vérouille l'accés à la ressource lors que le script l'utilise et que ce script attende que ce verrou soit lever avant d'essayer d'accéder à cette ressource. Bien sur sans oublier donc de lever le verrou une fois la ressource consomé.
    Si tu es dans cas bon courage, c'est toujours galère la gestion d'accés concurrent à une ressource partagée.

    D'un autre coté lorsque tu ecris dans le fichier, tu peux aussi essayer de flusher la mémoire tampon qui contient ce que tu souhaites ecrire dans le fichier. Je ne sais plus si FileSystemObject contient une méthode flush en plus des méthodes write, peut être le fait il par défaut automatiquement.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 172
    Par défaut
    Je comprends bien l'idée de bloquer la ressource le temps que le script est fini son travail, mais je n'ai aucune idée de comment faire ça en vbs.

    Peux-tu me donner quelques idées pour m'orienter.

    Merci.

  4. #4
    Membre chevronné Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut
    Bonjour,

    Il y a plusieurs manières de faire pour qu'il n'y ait qu'une écriture dans le fichier à la fois.

    En voici une :
    Un fichier de FLAG indique si ton fichier texte est utilisé ou non :
    Ce que le script doit faire pour écrire dans le fichier texte :
    - Vérification de l’existence du fichier de FLAG
    - S'il est présent, le script attend jusqu'à ce qu'il disparaisse
    - S'il est absent, il crée le fichier de FLAG (et ainsi bloque l'écriture pour tous les autres essayant de l'éditer)
    - Ouverture / Lecture / Ecriture / Fermeture du fichier
    - Suppression du fichier de FLAG (et donc laisse la main aux autres scripts potentiellement en attente)

    Après à toi de voir la méthode qui te conviendra le mieux.

    Bonne continuation.

  5. #5
    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
    Tiens cela me rappelle un truc que j'avais du faire à une époque pour un projet
    Au passage, je n'ai plus les sources de ce projet donc désolé ...
    Si tu ne veux pas créer de nouveau fichier tu peux aussi remplacer le flag par la création d'une clé en base de registre et sa suppression.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 172
    Par défaut
    Ok merci l'idée est pas mal, je vais testé je vous tiendrai au courant.

Discussions similaires

  1. Problème d'écriture dans un fichier
    Par Ceris dans le forum Assembleur
    Réponses: 2
    Dernier message: 22/05/2006, 23h30
  2. Problème d'écriture dans un fichier de log
    Par yakotey dans le forum Administration système
    Réponses: 14
    Dernier message: 22/11/2005, 15h08
  3. [C#] Probleme d'écriture dans un fichier XML
    Par Joad dans le forum ASP.NET
    Réponses: 5
    Dernier message: 02/05/2005, 16h19
  4. probleme d'ecriture dans un fichier texte
    Par azrael88370 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/01/2005, 17h33
  5. Probleme d'ecriture dans un fichier en mode Text
    Par bbozet dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/01/2004, 13h46

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