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 :

Ajout d'imprimante par un script


Sujet :

VBScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Ajout d'imprimante par un script
    Bonjour,

    Je suis débutant en script vbs. Je recherche de l'aide pour mon problème.
    J'aimerais pouvoir définir une (ou plusieurs) imprimante pour mes utilisateurs par script.
    Les imprimantes sont définies dans un fichier texte situé à la racine de leur poste de travail.

    Le script va donc lire le fichier texte et renvoie la ligne en parametre.
    La fin du script utilise ce paramétre pour définir l'imprimante


    Merci pour votre aide

  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 : 42
    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
    Qu'elle est le problème ?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Mon problème est que je ne vois pas comment renvoyer comme paramétre la ligne lu dans le fichier texte.
    Je m'excuse de ne pas avoir été clair. Je reprends :

    1 fichier imprimante.txt avec à l'intérieur une ligne \\server\printer situé sur c:
    Mon script doit lire ce fichier et recuperer dans une variable \\server\printer qui va l'installer à l'aide de la commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Set WshNetwork = CreateObject("WScript.Network")
    PrinterPath = "\\Server\Printer"
    PrinterDriver = "PrinterDriver"
    WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver
    WshNetwork.SetDefaultPrinter "\\Server\Printer"
    Je n'ai trouvé qu'un script qui affiche dans une msgbox le résultat de la lecture du fichier.

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par jejedu30 Voir le message
    Mon problème est que je ne vois pas comment renvoyer comme paramétre la ligne lu dans le fichier texte.
    ...
    Citation Envoyé par jejedu30 Voir le message
    Je n'ai trouvé qu'un script qui affiche dans une msgbox le résultat de la lecture du fichier.
    et tu n'as pas tout ce qui faut ..?

  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 : 42
    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
    En fait je crois qu'il ne sais pas comment lire le fichier et obtenir ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PrinterPath = "\\Server\Printer"
    Il nous a juste montré le résultat qu'il attend.
    Vu qu'il a un script qui affiche le contenu d'un fichier, il a le code pour lire le fichier.

    Mais il ne sait pas comment découper la chaine de caractère.

    Deux possibilité :
    - Expression régulière.
    - Fonction de traitement de chaine de caractère.

    Sur google tu devrais trouvé tout ce qu'il faut pour faire le script. Sur ce forum aussi, maintenant que je t'ai donné les mots clés.

    Pour la deuxième possibilitée tu auras certainement besoin de split, left, right, ou substring (je me demande si je ne confonds pas C# pour substring), ...
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    j'aimerais pouvoir définir une imprimante dont le nom UNC est ecrit dans le fichier imprimante.txt.

    Le but est de pouvoir utiliser une imprimante la plus proche du pc pour n'importe quel utilisateur qui ouvre une session de travail

    Voici le code que j'ai trouvé pour la lecture du fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    lecture d'un fichier txt
     
    Const FOR_READING = 1
    strFilePath = "C:\imprimante.txt"
    iLineNumber = 1
     
    Set objFS = CreateObject("Scripting.FileSystemObject")
    Set objTS = objFS.OpenTextFile(strFilePath, FOR_READING)
     
     
    WScript.Echo objTS.Readline
    Le résultat de cette lecture doit me servir de paramétre pour l'ajout d'imprimante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Set WshNetwork = CreateObject("WScript.Network")
     
    WshNetwork.AddWindowsPrinterConnection "\\PrintServer1\Xerox300"
    WshNetwork.SetDefaultPrinter "\\PrintServer1\Xerox300"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WshNetwork.AddWindowsPrinterConnection objTS
    WshNetwork.SetDefaultPrinter objTS
    Cela est-il possible ?

    Veuillez m'excuser pour mon niveau en programmation.
    Encore merci pour votre aide

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    ben en fait c'est l'utilisation basique d'une variable ... en gros tu stocke ta ligne dans une variable puis tu utilise cette variable pour connecter tes imprimantes..

    tu fusionne tes 2 codes....

    tu rajoute une déclaration de variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dim stMonImprimante
    tu remplace ta ligne de lecture dans ficher texte (Wscript... readline...) par l'affectation de ta variable

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    stMonImprimante = objTS.Readline
    un peu de lecture :

    http://tahe.developpez.com/web/vbscr...e=page_3#LII-L



    ensuite dans la connexion des imprimantes tu utilise cette variable...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WshNetwork.AddWindowsPrinterConnection stMonImprimante 
    WshNetwork.SetDefaultPrinter stMonImprimante

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup

    Cela fonctionne à merveille

  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 : 42
    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
    Ok je ne pensais pas que le problème venais de l'utilisation d'une variable

    Pas grave pas besoin de t'excuser de ton niveau, chacun a le niveau qu'il a.

    Mais si ton incursion en VBS n'était pas que temporaire et que tu compte faire un peu de développement, je te conseille de prendre des tutoriaux très basique sur la programmation.
    Bref tu n'as pas les bases, donc faut les apprendre avant de continuer.

    Si tu ne comptes pas faire de developpement bah .... au revoir et bonne continuation.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tree control : Ajouter des noeuds par script AS3
    Par TheDrev dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 01/05/2009, 10h01
  2. Forcer configuration imprimante par script
    Par geros dans le forum VBScript
    Réponses: 0
    Dernier message: 15/01/2009, 18h51
  3. Réponses: 6
    Dernier message: 22/09/2008, 14h07
  4. Installation d'imprimante par script
    Par borislotte dans le forum VBScript
    Réponses: 0
    Dernier message: 22/01/2008, 10h53
  5. Aide pour script choix de l'imprimante par defaut
    Par alex_m94 dans le forum Windows
    Réponses: 1
    Dernier message: 12/09/2007, 09h56

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