Installation d'une imprimante par l'intermédiaire d'un script

Principe général

Cette méthode regroupe en un script unique à lancer par l'administrateur l'ensemble des opérations nécessaires à l'installation manuelle d'une imprimante.

On peut envisager de le faire exécuter par WPKG via l'application unefois.bat.

Organisation des ressources

Le script d'installation d'une imprimante est la transcription en lignes de commandes des opérations réalisées lors de l'installation manuelle d'une imprimante sur port TCP/IP.

Cela nécessite de déposer dans un partage du réseau (Progs/ro, par exemple) tous les fichiers nécessaires : pilotes, scripts, utilitaire d'attribution des droits.

On propose d'utiliser l'organisation ci-contre.

  • Le dossier pilotes contient l'ensemble des drivers, classés par modèles.

  • Le dossier scripts contient les scripts (programmes) qui installent les imprimantes. On y trouve des scripts adaptés à XP, Windows 7, 32 et 64 bits.

  • Le dossier setacl contient les versions 32 et 64 bits de l'utilitaire setacl.exe qui permet d'attribuer des droits sur la file d'impression.

Organisation du dossier Imprimantes dans L :\roInformations[1]

Cette organisation en dossiers est disponible dans le dossier personnel de l'admin du serveur virtuel K:\Docs\Stage\imprimantes.zip [zip] (Cliquer pour télécharger).

Pour tester dans l'environnement virtuel, extraire l'ensemble de ces dossiers dans L:\ro.

RemarqueFichiers pilotes

Les sites des constructeurs fournissent parfois un fichier exécutable .exe. Il est parfois possible de l'ouvrir avec un gestionnaire de fichiers compressés (7zip ou équivalent) pour en extraire le contenu.

Le script "tout en un"

Le script proposé effectue les tâches suivantes :

  • Vérification de la présence de l'imprimante sur l'ordinateur : évite les installations en double.

  • Création du port d'impression TCP/IP.

  • Installation de l'imprimante spécifiée et bascule de cette imprimante par défaut.

  • Attribution des droits de gestion de la file d'impression pour tout le monde.

L'essentiel du contenu de ce script peut être utilisé tel quel. Seuls quelques paramètres sont à adapter :

  1. Adresse IP de l'imprimante : nécessaire pour la création du port IP.

  2. Chemin vers le fichier de pilotes (fichier .inf).

  3. Nom de l'imprimante dans le pilote : à chercher en éditant le fichier (Respecter la casse et les espaces).

  4. Nom libre : c'est le nom sous lequel apparaît l'imprimante dans la liste des périphériques du poste (éviter les espaces).

  5. Ce chemin diffère entre Windows XP et Windows 7.

  6. Chemin vers l'utilitaire SetACL.exe adapté à la version du système d'exploitation (32 ou 64 bits).

Script d'installation d'une imprimante annotéInformations[2]
1
Prompt $H
2
cls
3
:: Adresse IP de l'imprimante
4
  set AdresseIP=192.168.1.182
5
6
  :: Chemin d'accès au pilote
7
  set Pilote=\\se3\progs\ro\imprimantes\pilotes\HP3800N\PCL6\hpc3800c.inf
8
9
  :: Nom de l'imprimante dans le fichier .inf
10
  set Imprimante=HP Color LaserJet 3800 PCL 6
11
12
  :: Nom local de l'imprimante
13
  set NomLocal=HP_Labo_Sciences
14
15
@echo On teste si l'imprimante %NomLocal% est présente. Si oui, on quitte.
16
wmic PRINTER get Name /format:list | find "%NomLocal%"
17
18
if %errorlevel% ==0 goto end
19
@echo  %errorlevel%
20
pause
21
@echo L'imprimante %NomLocal% n'est pas installée, presser une touche pour l'installer.
22
@echo ................................
23
@echo INSTALLATION DE D'UN PORT TCP/IP
24
@echo ................................
25
@echo IP : %AdresseIP%, Type RAW, et port réseau : 9100
26
cscript %windir%\System32\Printing_Admin_Scripts\fr-FR\prnport.vbs -a -r IP_%AdresseIP% -h %AdresseIP% -o raw -n 9100
27
@echo .............................
28
@echo INSTALLATION D'UNE IMPRIMANTE %NomLocal%
29
@echo .............................
30
31
@echo Nom : %NomLocal%, Emplacement des fichier INF : %Pilote%
32
@echo Nom du driver : %Imprimante%
33
34
rundll32 printui.dll,PrintUIEntry /if /f "%Pilote%" /b "%NomLocal%" /r IP_%AdresseIP% /m "%Imprimante%"
35
rundll32 printui.dll,PrintUIEntry /y /n "%NomLocal%"
36
pause
37
:: Autorise le gestion des documents à tout le monde
38
\\se3\Progs\ro\imprimantes\setacl\32\SetACL.exe -on "%NomLocal%" -ot prn -actn ace -ace "n:Tout le Monde;p:man_docs,print"
39
:end
40
pause

Mise en pratique

Utilisation du script dans l'environnement virtuel

Ouvrez avec un éditeur de texte (notepad par exemple) le script HP_Labo_Sciences.bat correspondant au système d'exploitation de votre machine virtuelle.

Quelle petite adaptation faut-il faire pour que l'adresse IP soit cohérente avec notre réseau virtuel ? Faire la modification et enregistrez.

Lancez le script et vérifiez que l'imprimante s'installe avec les bons réglages.

Adaptation du script pour l'installation d'une autre imprimante

Vous devez installer une imprimante Samsung Laser CLP 360. Vous avez les pilotes sous forme d'un fichier zippé dans K:\Docs\Stage\CLP360.zip (cliquer pour télécharger)

  1. Dézipper les fichiers dans L:\ro\imprimantes\pilotes\

  2. Quel nom porte l'imprimante dans le fichier .inf ?

    Il faut explorer le ou les fichiers .inf à la recherche du nom de pilote satisfaisant.

    Astuce : on peut commencer une procédure d'installation manuelle en fournissant le fichier pilote. Le système d'exploitation propose les noms valides, il ne reste plus qu'à les noter dans le script.

  3. Vérifiez les chemins vers l'utilitaire de création du port TCP/IP et d'attribution des droits en fonction du système d'exploitation et enregistrez votre script en lui donnant un nom significatif.

  4. Testez l'installation de l'imprimante.