Installation silencieuse d'imprimantes

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Gobaltann
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mar. 10 janv. 2017 14:00
Status : Hors ligne

Installation silencieuse d'imprimantes

#1

Message par Gobaltann »

Bonjour !

Je vous explique le truc.
En gros, je suis actuellement en "stage", et j'ai à apprendre l'AutoIt ( je n'en ai jamais fais avant ).
Mon maitre de stage me demande d'automatiser les installations de toutes les imprimantes, mais le problème c'est qu'il faut qu'elles soit silencieuses.

Ayant déjà fait des installations silencieuses ( ThunderBird , 7zip, VirtualBox ... ) je me rend compte qu'il y a un problème ( de mon point de vue ! )...

Le script composer uniquement de "Send" et de "Sleep", je ne sais pas comment cacher les pages.
C'est assez contraignant.

Avez vous une solution ? Au besoin j'y ajouterais le script, mais sachant qu'il n'y a que des "Send" et "Sleep" je n'en vois pas l'utilité.

Merci pour vos réponses !
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: Installation silencieuse d'imprimantes

#2

Message par jguinch »

Quel type d'installation veux-tu effectuer :
- installation "locale" avec création d'un port TCP/IP ?
- installation "imprimante partagée" avec un serveur d'impression qui contient les partages d'imprimantes ?
La difficulté n'est pas la même en fonction de la réponse.

De quelle façon sera exécuté le script :
- dans la session de l'utilisateur, avec des droits limités ?
- avec un compte admin ?

Regarde du côté de l'UDF Printers Management, qui devrait te permettre de faire tout ce que tu veux.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
jl56
Niveau 7
Niveau 7
Messages : 411
Enregistré le : mer. 24 oct. 2007 22:42
Localisation : 56000
Status : Hors ligne

Re: Installation silencieuse d'imprimantes

#3

Message par jl56 »

Bonjour,
Sous Xp j'avais un script qui fonctionnais bien en mode silencieux

Dans un de mes scripts j'utilise pour cela rundll32 printui.dll,PrintUIEntry ......

Code : Tout sélectionner
RunWait('rundll32 printui.dll,PrintUIEntry /q /Sr /n "'&$nom_imprimante&'" /a "'&$nomdufichierparametrage&'" 2 7 c d g m u'


exécute cette commande et vous aurez toute la syntaxe
rundll32 printui.dll,PrintUIEntry /?

Enregistrer tous les paramètres de l'imprimante dans un fichier :
rundll32 printui.dll,PrintUIEntry /Ss /n "imprimante" /a "fichier.dat"

Enregistrer tous les paramètres de l'imprimante à partir d'un fichier :
rundll32 printui.dll,PrintUIEntry /Sr /n "imprimante" /a "fichier.dat"

pour créer un port IP j'utilise un vbs (prnport.vbs) déjà présent sur le système

je lance ce vbs comme ceci exemple.

Code : Tout sélectionner

Run("cscript "&@SystemDir&"\prnport.vbs -a -r "&$nomport&" -h "&$adresseipport&" -o raw -n "&$numeroduport[$p]&$option,"",@SW_HIDE)


recherchez les *.VBS editer le prnport.vbs pour avoir des précisions sur la saint axe ( priez pour nous )

A+ JL56
Gobaltann
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mar. 10 janv. 2017 14:00
Status : Hors ligne

Re: Installation silencieuse d'imprimantes

#4

Message par Gobaltann »

Merci pour vos réponses,
J'ai a installer des imprimantes locales en utilisant un port LPR.

jl56, si j'ai bien compris, ton script permet un ajout d'imprimante par leur adresse IP non ?
Le problème c'est que moi, j'ai a installer des imprimantes locales par port LPR(donc il n'est jamais demandé l'adresse IP de l'imprimante :( ), je dois choisir les drivers sur un espace de partage.

Je viens de revenir ce matin en stage, je vais donc me pencher là dessus.
Merci tout de même !
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: Installation silencieuse d'imprimantes

#5

Message par jguinch »

A moins que je comprenne mal, le port LPR est un port TCP/IP configuré pour utiliser le mode LPR (au lieu de RAW)
Donc il faudra bien connaitre l'adresse IP ou le nom DNS de l'imprimante, non ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Gobaltann
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mar. 10 janv. 2017 14:00
Status : Hors ligne

Re: Installation silencieuse d'imprimantes

#6

Message par Gobaltann »

Send("^{ESC}")
Sleep(800)
Send("Ajouter une imprimante")
Sleep(800)
Send("{ENTER}")
Sleep(800)
Send("{ENTER}")
Sleep(800)
Send("{TAB 4}")
Sleep(500)
Send("{DOWN}")
Sleep(800)
Send("{TAB}")
Sleep(800)
Send("LPR Port")
Sleep(800)
Send("{ENTER}")
Sleep(800)
Send("*.***-********.fr")
Sleep(800)
Send("{TAB}")
Sleep(800)
Send("ist-print-small1")
Sleep(800)
Send("{ENTER}")
Sleep(8000)
Send("{TAB}")
Sleep(800)
Send("{ENTER}")
Sleep(800)
Send("\\DOSSIER_OU_SE_TROUVE_LE_DRIVER\printer-drivers\XEROX-7835 (ist-print-small)")
Sleep(800)
Send("{ENTER}")
Sleep(800)
Send("{TAB}")
Sleep(800)
Send("{TAB}")
Sleep(800)
Send("{ENTER}")
Sleep(800)
Send("{ENTER}")
Sleep(800)
Send("ist-print-small1")
Sleep(800)
Send("{ENTER}")
Sleep(10000)
WinActive("Sécurité de Windows")
Sleep(800)
Send("{ENTER}")
Sleep(3000)
Send("{TAB}")
Sleep(800)
Send("{SPACE}")
Sleep(800)
Voila le code utiliser, il faut l'adresse du serveur LPD, c'est surement de ça que tu me parles non ?
Avatar du membre
jl56
Niveau 7
Niveau 7
Messages : 411
Enregistré le : mer. 24 oct. 2007 22:42
Localisation : 56000
Status : Hors ligne

Re: Installation silencieuse d'imprimantes

#7

Message par jl56 »

Bonjour à tous,

Non pas forcement
Pour une installation et surtout une installation silencieuse tu oublies absolument les send et les sleep de bain
► Afficher le texte
Je te donnes quelques lignes de code de mon vieux script, elles ne sont pas fonctionnelles en l'état
regarde la syntaxe des lignes rundll32 printui.dll,PrintUIEntry et leur usage ainsi que les lignes \prnport.vbs

Compare avec l'aide en exécutant la ligne rundll32 printui.dll,PrintUIEntry /?
recherchez les *.VBS editer le prnport.vbs pour avoir des précisions sur syntaxe

A+
JL56
Gobaltann
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mar. 10 janv. 2017 14:00
Status : Hors ligne

Re: Installation silencieuse d'imprimantes

#8

Message par Gobaltann »

Je suis peux être un peu idiot, mais je ne comprends pas réellement la syntaxe et l'utilisation de "Runwait("cscript "&@SystemDir&"\prnport.vbs"
Quelqu'un aurait un "tuto" permettant de mieu comprendre ?

Je n'en trouve pas...
Avatar du membre
jl56
Niveau 7
Niveau 7
Messages : 411
Enregistré le : mer. 24 oct. 2007 22:42
Localisation : 56000
Status : Hors ligne

Re: Installation silencieuse d'imprimantes

#9

Message par jl56 »

Bonjour à tous,

je t'ai donné le chemin il faut éditer le fichier prnport.vbs
tu trouveras au début du fichier le mode d’emploi de la commande
► Afficher le texte
' Examples
' prnport -a -s server -r IP_1.2.3.4 -e 1.2.3.4 -o raw -n 9100
ce n'est pas du code autoit ç a fait partie du system windows
pour executer cette commande via autoit
tu codes ceci
Runwait("cscript "&@SystemDir&"\prnport.vbs -a -r IP_1.2.3.4 -h 1.2.3.4 -o raw -n 9100",@SW_HIDE)
Runwait permet d'executer une commande et d'attendre la fin de son execution

@WindowsDir donne le Chemin vers le dossier Windows.
cscript est un programme du system de windows pour exécuter des scripts VBS

en cliquant sur le runwait tu tapes sur la touche F1 pour obtenir l'aide associé
► Afficher le texte


Mes exemples inclu des variables propres a mon script

Documente toi
https://openclassrooms.com/courses/la-p ... vec-autoit
La programmation avec Autoit Par Timothée Malossane (timmalos) membre de ce forum
https://user.oc-static.com/pdf/228547-l ... autoit.pdf


A+

JL56
Gobaltann
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mar. 10 janv. 2017 14:00
Status : Hors ligne

Re: Installation silencieuse d'imprimantes

#10

Message par Gobaltann »

Bonjour a tous !

Afin de fignoler mon script il me faudrait le ""raccourcie"" pour "Ajouter une imprimante", la derniere fois je l'ai trouvé par hasard, mais après 3h de recherche ( ce matin ), je ne retombe pas dessus, avez vous une idée ?
Merci !

De souvenir c'était genre Run('rundll32 printui.dll'), mais je ne trouve vraiment plus.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: Installation silencieuse d'imprimantes

#11

Message par jguinch »

Est-ce que tu peux nous décrire la façon dont tu installes l'imprimante manuellement (quand tu passes par "Ajouter une imprimante"). Quelles options choisis-tu ? A quel moment renseignes-tu le serveur LPR ?

Utiliser l'interface graphique sera casse-gueule, c'est la dernière des solutions à envisager. La première piste à explorer est du côté de ce qu'a énoncé jl56. Je te conseille d'éplucher la doc de PrintUI.

Je t'avais donné un lien dans ma première réponse. Ce lien contient tout le nécessaire pour installer une imprimante, un port et des pilotes avec des fonctions AutoIt, sans faire appel à des programmes externes. La page contient également des exemples. Si tu nous décris précisément les étapes d'installation, on pourra t'aider à avancer.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Gobaltann
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mar. 10 janv. 2017 14:00
Status : Hors ligne

Re: Installation silencieuse d'imprimantes

#12

Message par Gobaltann »

La façon est la suivante :
"Ajouter une imprimante" => "Locale" => "Créer un nouveau port" => "LPR Port" => Je rempli le LPD et le nom de l'imprimante => "Disque fourni..." => "Chemin" => "Ok" => "Suivant" => "Suivant" => "NomDeL'imprimante" => "Suivant" => "Ne Pas Partager" => "Suivant" => "Terminer"
Et voila.
(Je sais pas si c'était réellement ça que tu me demandais.)

Du coup, j'ai tout fais a base de Sleep et de send, tout ça est "Camouflé" par un ecran de "veille" qui annonce un "mise à jours".
Le problème c'est que pour accèder a "Ajouter une imprimante" , je me dois d'aller dans le menu démarrer, et je trouve pas ça esthétique du tout.

Dès le début je choisie "LPR".

Je voulais utiliser le PrintUI, mais le problème c'est qu'avec le Port LPR , je n'y arrive pas. la syntaxe m'avait l'air bonne pourtant ( pendant un élan de rage, j'ai supprimé tout les scripts qui ne fonctionnait pas).

Je vais ré-essayer sous ligne de commande, mais le probleme c'est qu'il faut pouvoir choisir le driver, et je n'ai pas trouvé en PrintUI.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: Installation silencieuse d'imprimantes

#13

Message par jguinch »

Effectivement, la création d'un port LPR n'est pas prévu dans les outils Microsoft, que ce soit avec prnport.vbs ou avec PrintUi.
Je vais ajouter la fonctionnalité à mon UDF. Si j'ai le temps je le fais ce soir, sinon demain.

Pour moi, il faudra procéder de cette façon
- Création du port LPR
- Installation du pilote
- Installation de l'imprimante
A priori ça devrait être assez simple. Je reviens vers toi pour te fournir la fonction de création de port LPR.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: Installation silencieuse d'imprimantes

#14

Message par jguinch »

Voilà, c'est fait, l'UDF est modifié.
Tu peux télécharger la nouvelle version : https://www.autoitscript.com/forum/topi ... ement-udf/

Voilà le code à utiliser pour la création du port LPR :
#RequireAdmin
#include "PrintMgr.au3"
_Printmgr_AddLPRPort("le_server", "l_imprimante")
Ensuite, il faudra installer les pilotes puis l'imprimante (regarde les exemples que j'ai mis dans le lien).
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Gobaltann
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mar. 10 janv. 2017 14:00
Status : Hors ligne

Re: Installation silencieuse d'imprimantes

#15

Message par Gobaltann »

Merci !
Je me met tout de suite au travail, j'essaye l'UDF !

J'ai déjà un soucis, c'est peut être un problème de compréhension de la syntaxe ( surement ), mais je n'arrive pas a installer l'imprimante.
Le port est bien créé, mais l'imprimante n'apparait pas dans la liste des imprimantes disponibles.
#RequireAdmin
#Include "PrintMgr.au3"

_Printmgr_AddLPRPort("******.****.fr", "test5")

_PrintMgr_AddPrinterDriver("XEROX-7835", "Windows NT x86", @scriptDir & "\XEROX-7835", @scriptDir & "\XEROX-7835\xerox7835_ppd.inf")

_PrintMgr_AddPrinter("test5", "XEROX-7835", "******.****.fr:test5")
D'après moi, cela devrait suffire non ?
On créer le port, on installe le pilote et on installe l'imprimante ? Ai-je fais une "bêtise"? :c

Je continu de chercher en attendant une quelconque réponse.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: Installation silencieuse d'imprimantes

#16

Message par jguinch »

Il faut t'assurer que l'installation du pilote s'est bien effectuée (exécute printmanagement.msc dans Windows, ou Panneau de config.\Outils d'administration\Gestion de l'impression)
Attention, si tu utilises une machine 64 bits, il faut utiliser "Windows x64" à la place de "Windows NT x86" avec _PrintMgr_AddPrinterDriver
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Gobaltann
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mar. 10 janv. 2017 14:00
Status : Hors ligne

Re: Installation silencieuse d'imprimantes

#17

Message par Gobaltann »

Comme un idiot, je m'étais trompé dans le nom du pilote, ça ne pouvais pas marcher du coup !
C'est désormais fonctionnel , merci !
Gobaltann
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mar. 10 janv. 2017 14:00
Status : Hors ligne

Re: Installation silencieuse d'imprimantes

#18

Message par Gobaltann »

Bonjour bonjour ! C'est encore moi !

Lors de l'installation, sur les machines possédant déjà le driver d'installé (Avec les tests fait précédemment), cela fonctionne niquel !
Mais...
(Et oui, y a un "MAIS")
Sur les nouvelles machines ca ne marche pas, et quand j'essaye d'installer les drivers a la main , une sécurité windows me bloque.
"Windows ne peut pas vérifier l'éditeur de ce pilote".
Comment je peux contourner ça ? me balader dans le regedit ? (Je sais pas faire du coup, j'vais pas y aller a l'aveugle :p )
sapass
Niveau 1
Niveau 1
Messages : 9
Enregistré le : ven. 06 mai 2011 13:14
Status : Hors ligne

Re: Installation silencieuse d'imprimantes

#19

Message par sapass »

Si tu a cet avertissement de windows c'est que tu essaye d'installer un pilote non signé WHQL. Essaye d'utiliser un pilote signé ça devrait éviter cet avertissement de sécurité.
PS : Ton script est-il bien lancé en admin ?
--
Sapass*
l'essentiel, c'est que sapass...
Ellyraa
Niveau 1
Niveau 1
Messages : 1
Enregistré le : jeu. 04 mai 2017 15:31
Status : Hors ligne

Re: Installation silencieuse d'imprimantes

#20

Message par Ellyraa »

Bonjour,
Je relance le sujet car je dois faire le même travail que Gobaltann, j'ai voulu utilisé cette solution :

Code : Tout sélectionner

#RequireAdmin
#Include "PrintMgr.au3"

_Printmgr_AddLPRPort("******.****.fr", "test5")

_PrintMgr_AddPrinterDriver("XEROX-7835", "Windows NT x86", @scriptDir & "\XEROX-7835", @scriptDir & "\XEROX-7835\xerox7835_ppd.inf")

_PrintMgr_AddPrinter("test5", "XEROX-7835", "******.****.fr:test5")

mai je n'arrive pas à savoir ou trouver les paramètres 2 et 3 de :

_PrintMgr_AddPrinterDriver("le nom qu'on veut donner au driver", "le chemin vers le .exe ? ", "ou trouver le fichier .inf ? ")

Cordialement Ellyra
Répondre