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.
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
.
Remarque : Fichiers 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 :
Adresse IP de l'imprimante : nécessaire pour la création du port IP.
Chemin vers le fichier de pilotes (fichier
.inf
).Nom de l'imprimante dans le pilote : à chercher en éditant le fichier (Respecter la casse et les espaces).
Nom libre : c'est le nom sous lequel apparaît l'imprimante dans la liste des périphériques du poste (éviter les espaces).
Ce chemin diffère entre Windows XP et Windows 7.
Chemin vers l'utilitaire
SetACL.exe
adapté à la version du système d'exploitation (32 ou 64 bits).
Prompt $H
cls
:: Adresse IP de l'imprimante
set AdresseIP=192.168.1.182
:: Chemin d'accès au pilote
set Pilote=\\se3\progs\ro\imprimantes\pilotes\HP3800N\PCL6\hpc3800c.inf
:: Nom de l'imprimante dans le fichier .inf
set Imprimante=HP Color LaserJet 3800 PCL 6
:: Nom local de l'imprimante
set NomLocal=HP_Labo_Sciences
@echo On teste si l'imprimante %NomLocal% est présente. Si oui, on quitte.
wmic PRINTER get Name /format:list | find "%NomLocal%"
if %errorlevel% ==0 goto end
@echo %errorlevel%
pause
@echo L'imprimante %NomLocal% n'est pas installée, presser une touche pour l'installer.
@echo ................................
@echo INSTALLATION DE D'UN PORT TCP/IP
@echo ................................
@echo IP : %AdresseIP%, Type RAW, et port réseau : 9100
cscript %windir%\System32\Printing_Admin_Scripts\fr-FR\prnport.vbs -a -r IP_%AdresseIP% -h %AdresseIP% -o raw -n 9100
@echo .............................
@echo INSTALLATION D'UNE IMPRIMANTE %NomLocal%
@echo .............................
@echo Nom : %NomLocal%, Emplacement des fichier INF : %Pilote%
@echo Nom du driver : %Imprimante%
rundll32 printui.dll,PrintUIEntry /if /f "%Pilote%" /b "%NomLocal%" /r IP_%AdresseIP% /m "%Imprimante%"
rundll32 printui.dll,PrintUIEntry /y /n "%NomLocal%"
pause
:: Autorise le gestion des documents à tout le monde
\\se3\Progs\ro\imprimantes\setacl\32\SetACL.exe -on "%NomLocal%" -ot prn -actn ace -ace "n:Tout le Monde;p:man_docs,print"
:end
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)
Dézipper les fichiers dans
L:\ro\imprimantes\pilotes\
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.
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.
Testez l'installation de l'imprimante.