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 :

VBScript Changer une imprimante par défaut grâce à son IP


Sujet :

VBScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Points : 3
    Points
    3
    Par défaut VBScript Changer une imprimante par défaut grâce à son IP
    Salutations j'aimerai avoir votre assistance!!

    Actuellement j'essai de faire un script vbs avec ce que je trouve à droite et à gauche pour pouvoir comme cité dans le titre, de changer une imprimante par défaut grâce à son adresse IP.
    La société dans laquelle je suis en stage souhaite que je mettes en place un serveur d'impression et que les imprimantes déjà par défaut sur les postes
    restent après la mise en place du serveur d'impression.
    Mon problème étant que mon serveur d'impression est opérationnel avec toutes les imprimantes réseaux mais je voudrais automatiser le déploiement grâce à un script qui aurait pourrait changer
    l'imprimante par défaut par la même mais qui passe par le serveur d'impression.

    J'ai eu une idée de début de script mais plusieurs problèmes survient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
        strComputer = "." 
        Set objWMIService = GetObject("winmgmts:" _ 
            & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2" ) 
        Set colInstalledPrinters =  objWMIService.ExecQuery _ 
            ("Select * from Win32_Printer" ) 
     
     
    'Définir une imprimante comme imprimante par défaut : 
    Dim net 
    Set net = CreateObject("WScript.Network" ) 
     
    For Each objPrinters in colInstalledPrinters 
     
    Next 
     
    if objPrinter.PortName = "X.X.X.1" AND objPrinter.Default = true then 
     
    net.SetDefaultPrinter "\\SERVEURIMPRESSION\NOMIMPRIMANTE"  
     
    Elseif objPrinter.PortName = "X.X.X.2" AND objPrinter.Default = true then 
     
    net.SetDefaultPrinter "\\SERVEURIMPRESSION\NOMIMPRIMANTE2"  
     
    .... 
     
    Else objPrinter.PortName = "X.X.X.X" AND objPrinter.Default = true then 
     
    net.SetDefaultPrinter "\\SERVEURIMPRESSION\NOMIMPRIMANTEX" 
     
    End If
    Mais je reçois un message d'erreur à la ligne 16 (if objPrinter.PortName = "X.X.X.1" AND objPrinter.Default = true then )
    erreur : Objet requis : 'objPrinter'

    Code: 800A01A8

    Source : Erreur d'exécution Microsoft VBScript

    Merci pour vos solutions !!

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 171
    Points
    17 171
    Par défaut
    Salut, bienvenue sur DVP

    Tu ouvres une boucle (ligne 12) pour parcourir les imprimantes, mais tu la refermes par Next (ligne 14)
    De plus ta variable objPrinters devient objPrinter ou est passé le S
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
        strComputer = "." 
        Set objWMIService = GetObject("winmgmts:" _ 
            & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2" ) 
        Set colInstalledPrinters =  objWMIService.ExecQuery _ 
            ("Select * from Win32_Printer" ) 
     
     
    'Définir une imprimante comme imprimante par défaut : 
    Dim net 
    Set net = CreateObject("WScript.Network" ) 
     
    For Each objPrinters in colInstalledPrinters 
     
    	if objPrinters.PortName = "X.X.X.1" AND objPrinters.Default = true then 
    		net.SetDefaultPrinter "\\SERVEURIMPRESSION\NOMIMPRIMANTE"  
    		Elseif objPrinters.PortName = "X.X.X.2" AND objPrinters.Default = true then
    			net.SetDefaultPrinter "\\SERVEURIMPRESSION\NOMIMPRIMANTE2" 
    			'.... 
    		End If
    		Else
    		If objPrinters.PortName = "X.X.X.X" AND objPrinters.Default = true then
    			net.SetDefaultPrinter "\\SERVEURIMPRESSION\NOMIMPRIMANTEX"
    		End If
    	End If
     
    Next
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Yey ! merci pour la solution que tu m'as proposé :3
    Maintenant il me dit qu'il me manque "Next" alors que pourtant il est bien à la fin du dernier End If :/

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    En fait j'ai fais une bêtise, j'ai mis des End If après chaque Elseif après les avoir retirés ça fonctionne mieux encore merci !!!!!!!!

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

Discussions similaires

  1. Changer l'imprimante par défaut
    Par micoudic dans le forum Delphi
    Réponses: 2
    Dernier message: 07/05/2007, 21h04
  2. Mettre une imprimante par défaut
    Par Amine78 dans le forum C++
    Réponses: 7
    Dernier message: 18/04/2007, 11h17
  3. changer l'imprimante par défaut
    Par LeXo dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 26/01/2007, 15h39
  4. changer l'imprimante par défaut
    Par SegmentationFault dans le forum Delphi
    Réponses: 2
    Dernier message: 17/08/2006, 17h36
  5. Réponses: 2
    Dernier message: 10/05/2006, 09h22

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