Création d’un port TCP/IP et installation de l’imprimante

Voici un script permettant d’automatiser l’installation d’une imprimante sur un poste client via un fichier Batch (Fonctionnel sur plateforme Windows XP SP3 x32).

@echo off

:: Définition des variables
:: Important : Le nom de l’imprimante doit être le même que dans le fichier INF
:: La variable Port désigne le port RAW par défaut du port TCP/IP (ex : Lexmark 9100)
:: Pour le connaitre installer l’imprimante manuellement et regarder le port RAW utilisé dans les paramètres du port TCP/IP
set AdresseIP=192.168.1.1
set Imprimante=Lexmark c500
set Pilote=\\serveur\partage\driver\c500\x32_xp\LMABN.inf
set Port=9100
:: Création du port TCP/IP cscript
%windir%\system32\prnport.vbs -a -r IP_%AdresseIP% -h %AdresseIP% -o raw -n %port%
:: Installation de l’imprimante
rundll32 printui.dll, PrintUIEntry /if /b "%Imprimante%" /f "%Pilote%" /r "IP_%AdresseIP%" /m "%Imprimante%"

 

 

Le tutoriel est à présent terminé, n’hésitez pas à me laisser des commentaires.

 

7 Comments:

  1. Bonjour,

    Votre script fonctionne parfaitement avec un compte administrateur, mais pas avec un simple compte d’utilisateur.
    De ce fait, j’ai voulu essayé de pousser ce fichier batch en tant que script de démarrage de la machine. (vu que c’est avec le compte SYSTEM)
    Il crée le port TCP/IP mais ne l’installe pas, car permission denied.
    J’ai essayé aussi avec l’option -u et -w avec le compte admin local, mais même résultat.

    Svp pouvez-vous m’aider?

    Dans l’attente de votre réponse,

    Merci d’avance,

    • Bonjour,

      Je pense que votre problème viens de la GPO du domaine.

      J’ai trouvé une option qui peux correspondre à votre problème, dans le cas d’une imprimante réseau et non local.

      Ici

      Cordialement.

      • Bonjour,

        Apparemment, ce n’est pas ça le souci car ces options étaient désactivés par défaut.

        Merci de votre aide,

        Je continue à chercher …

      • Avez-vous trouvé la solution à votre problème ? Si oui, je peux le rajouter dans l’article afin de partager cette information.

  2. Bonjour, je suis également très intéressé par une éventuelle solution à l’installation via script d’une imprimante réseau PAR UN UTILISATEUR DU DOMAINE et non un admin, le tout sous XP (à partir de Seven, et 2008R2 il y a une gestion centralisé des imprimantes)
    Avez vous eu des infos à ce sujet ?

    MErci

  3. Bonjour à tous

    J’essaie d’adapter le script pour mon installation. J’installe des imprimantes en local avec un pilote global le Global Print Driver de chez Xerox.

    Cependant le script ne fonctionne pas

    :: InstImprimante.cmd
    :: Script d’installation d’une imprimante reseau
    :: (L) 2010 Badministrateur.com
    @echo off

    :: Remplacer les 3 champs suivants par vos valeurs
    :: ATTENTION: Le nom de l’imprimante doit correspondre au nom de vortre imprimante dans le fichier INF (cf section [DriverName.xxxxx])
    :: Le nom de la file d’attente LPR peut etre trouvé en installant l’imprimante manuellement et en verifiant les propriétes du port TCP/IP d’une installation « témoin »
    :: Mettre un chemin absolu pour le pilote d’impression

    set AdresseIP=192.168.1.6
    set Imprimante=Xerox GPD PCL6 V3.6.433.6.0.0
    set Pilote=C:\Xerox\X-GPD_5.433.6.0_PCL6_x64_Driver.inf
    set port=9100

    :: — Ne pas toucher ? la suite du fichier —

    echo Creation d’un port d’impression TCP/IP a l’adresse %AdresseIP%

    set CLEPORT= »HKLM\System\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports »
    REG ADD %CLEPORT%\TCP_%AdresseIP% /f > NUL
    REG ADD %CLEPORT%\TCP_%AdresseIP% /v Protocol /t REG_DWORD /d 0x00000002 /f > NUL
    REG ADD %CLEPORT%\TCP_%AdresseIP% /v Version /t REG_DWORD /d 0x00000001 /f > NUL
    REG ADD %CLEPORT%\TCP_%AdresseIP% /v HostName /t REG_SZ /d «  » /f > NUL
    REG ADD %CLEPORT%\TCP_%AdresseIP% /v IPAddress /t REG_SZ /d %AdresseIP% /f > NUL
    REG ADD %CLEPORT%\TCP_%AdresseIP% /v PortMonMibPortIndex /t REG_DWORD /d 0x00000001 /f > NUL
    REG ADD %CLEPORT%\TCP_%AdresseIP% /v HWAddress /t REG_SZ /d «  » /f > NUL
    REG ADD %CLEPORT%\TCP_%AdresseIP% /v PortNumber /t REG_DWORD /d 0x00000203 /f > NUL
    REG ADD %CLEPORT%\TCP_%AdresseIP% /v « SNMP Community » /t REG_SZ /d Public /f > NUL
    REG ADD %CLEPORT%\TCP_%AdresseIP% /v « SNMP Enabled » /t REG_DWORD /d 0x00000000 /f > NUL
    REG ADD %CLEPORT%\TCP_%AdresseIP% /v « SNMP Index » /t REG_DWORD /d 0x00000001 /f > NUL
    REG ADD %CLEPORT%\TCP_%AdresseIP% /v Queue /t REG_SZ /d %fileLPR% /f > NUL
    REG ADD %CLEPORT%\TCP_%AdresseIP% /v « Double Spool » /t REG_DWORD /d 0x00000000 /f > NUL

    :: Redemarrage du spooler d’impression
    net stop spooler
    net start spooler

    :: Installation de l’imprimante
    echo Installation de l’imprimante %Imprimante% sur le port TCP_%AdresseIP%. Veuillez patienter…
    rundll32 printui.dll,PrintUIEntry /if /f « %Pilote% » /b « %Imprimante% » /r TCP_%AdresseIP% /m « %Imprimante% »

    :: Mettre l’imprimante par defaut
    rundll32 printui.dll,PrintUIEntry /y /n « %Imprimante% »

    J’ai une erreur « impossible de terminer cette opération (erreur 0x800f0214)
    Je ne suis également pas sur du nom de l’imprimante car je ne le trouve pas dans le fichier .inf
    Quelqu’un peut m’aider svp?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *