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 :

Amélioration Script pour renommer imprimante


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 9
    Par défaut Amélioration Script pour renommer imprimante
    Bonjour,
    je cherche une solution pour renommer une imprimante RDP grâce au script trouvé ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
     
    Set colPrinters = objWMIService.ExecQuery ("Select * from Win32_Printer Where DeviceID = 'ANCIEN-NOM-IMP")
     
    For Each objPrinter in colPrinters
    objPrinter.RenamePrinter("NOUVEAU-NOM-IMP")
    Next
    Le script fonctionne ce qui est déja très bien, mais le problème c'est qu'en l'état il faut connaitre le nom exacte de l'imprimante à renommer.
    Or en RDP le nom de l'imprimante partagé change en fonction de l'ID de la session que windows attribue (Plus d'explications sur mon précédent post -> ici)

    Quelqu'un propose une solution avec ce script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
     
    Set colPrinters = objWMIService.ExecQuery ("Select * from Win32_Printer Like DeviceID = '%UNE-PARTIE-DE-ANCIEN-NOM-IMP%'")
     
    For Each objPrinter in colPrinters
    objPrinter.RenamePrinter("NOUVEAU-NOM-IMP")
    Next
    Là par contre ça ne fonctionne pas pour moi, j'ai ce message d'erreur :


    Une idée ?

    [EDIT]

    Problème résolu -> Voir post #11

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Salut

    Il me semble bien que le égal (=) pour un Like ne doit pas être mis dans la requête.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 9
    Par défaut
    C'est à dire ? J’enlève tout simplement le "=" après le "DeviceID" ?

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Oui, en tout cas à essayer, car pour une requête SQL il ne le faut pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set colPrinters = objWMIService.ExecQuery("Select * from Win32_Printer DeviceID Like '%UNE-PARTIE-DE-ANCIEN-NOM-IMP%'")
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 9
    Par défaut
    Toujours pareil, j'ai la même erreur.

  6. #6
    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,

    Pour moi le problème ne vient pas de la structure de la requête WMI, car si c'était le cas tu ne rentrerais pas dans le For Each.

    Combien d'imprimantes s'affichent lorsque tu lances ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
     
    Set colPrinters = objWMIService.ExecQuery ("Select * from Win32_Printer Like DeviceID = '%UNE-PARTIE-DE-ANCIEN-NOM-IMP%'")
     
    For Each objPrinter in colPrinters
      WScript.Echo objPrinter.DeviceID 
      ' objPrinter.RenamePrinter("NOUVEAU-NOM-IMP")
    Next
    Si il y en a plus d'une, le problème peut venir de là. Il faudra alors affiner ta requête WMI pour n'avoir que l'imprimante à renommer.
    Si il n'y en a qu'une, alors je fais fausse piste.

    Bonne continuation

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 09/01/2019, 21h23
  2. Besoin d'aide : Script pour renommer imprimante par défaut
    Par ryohazuki100 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 01/08/2013, 10h37
  3. Script pour renommer une double extension
    Par squiln0x dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 10/01/2012, 21h11
  4. script pour choisir imprimante
    Par guizmo35 dans le forum VBScript
    Réponses: 11
    Dernier message: 26/05/2009, 09h11
  5. Réponses: 6
    Dernier message: 22/09/2008, 14h07

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