Aller au contenu

Batch File - Invalid Argument (%PrinterName%)


OOO
 Partager

Déchet(s) recommandé(s)

J'ai une question pour un Whiz en programmation... j'ai fais mon batch file dans le but de supprimer les printers installé car parfois, quand un avocats imprime il obtient un PCL XL Error. La seule façon de corriger le problème que j'ai trouvé est de supprimer le printer, supprimer le driver du printer et de repartir le spooler. Ensuite, en rajoutant le printer, le message PCL XL Error est corrigé.

Je vous colle le code mais là où j'ai besoin d'un coup de main est à la section 4.


@ECHO OFF
set /P Domainn=Enter Domain Name:
set /P Usern=Enter Username:
set userunas=runas /user:%domainn%\%usern% "
:optionmenu
CLS
ECHO 1 - Print Spooler Stop
ECHO 2 - Print Spooler Start
ECHO 3 - PrintUI - Delete PCL printer drivers (Manually)
ECHO 4 - Delete Printer on user's session
ECHO Q - Quit
ECHO.
set /P optionnum=Enter command number:
GOTO option%optionnum%
:option1
%userunas%net stop spooler
goto optionmenu
:option2
%userunas%net start spooler
goto optionmenu
:option3
%userunas%printui /s t2
goto optionmenu
:option4
%userunas%rundll32 printui.dll,PrintUIEntry /dl /n %PrinterName%
goto optionmenu
:optionQ
EXIT

En gros, la commande rundll32 permet de supprimer un printer sur le compte user de l'avocat sans le déloguer. J'aimerais que la variable %PrinterName% soit un input pour moi, pour que je puisse écrire le nom du printer justement. Ayant tous des noms d'imprimante différent selon l'étage et le bureau (Et le VLan), je ne peux pas mettre juste un printer name random comme ca.

Si jamais mex explications sont pas assez claire, let me know.

Merci!!!

Lien vers le commentaire
Partager sur d’autres sites

Hélas, les politiques d'entreprises sont ce qu'elles sont... J'aime pas plus le PCL mais bon, it is what it is...

Any idea pour mon issue? J'vais devoir aller sur StackExchange j'pense ben

Lien vers le commentaire
Partager sur d’autres sites

Désolé jpeux pas t'aider avec le code, mais j'ai travailler avec plusieurs HP et jamais vu ça.

Ta regarder dans le dossier : C:\Windows\System32\spool\PRINTERS

Si ta rien de stuck là dedans local sur les postes, valable aussi pour le serveur d'impression.

Sinon je suppose que ta déjà regardé pour mettre à jour le pilote :S

Lien vers le commentaire
Partager sur d’autres sites

J'ai une question pour un Whiz en programmation... j'ai fais mon batch file dans le but de supprimer les printers installé car parfois, quand un avocats imprime il obtient un PCL XL Error. La seule façon de corriger le problème que j'ai trouvé est de supprimer le printer, supprimer le driver du printer et de repartir le spooler. Ensuite, en rajoutant le printer, le message PCL XL Error est corrigé.

Je vous colle le code mais là où j'ai besoin d'un coup de main est à la section 4.


@ECHO OFF
set /P Domainn=Enter Domain Name:
set /P Usern=Enter Username:
set userunas=runas /user:%domainn%\%usern% "
:optionmenu
CLS
ECHO 1 - Print Spooler Stop
ECHO 2 - Print Spooler Start
ECHO 3 - PrintUI - Delete PCL printer drivers (Manually)
ECHO 4 - Delete Printer on user's session
ECHO Q - Quit
ECHO.
set /P optionnum=Enter command number:
GOTO option%optionnum%
:option1
%userunas%net stop spooler
goto optionmenu
:option2
%userunas%net start spooler
goto optionmenu
:option3
%userunas%printui /s t2
goto optionmenu
:option4
%userunas%rundll32 printui.dll,PrintUIEntry /dl /n %PrinterName%
goto optionmenu
:optionQ
EXIT

En gros, la commande rundll32 permet de supprimer un printer sur le compte user de l'avocat sans le déloguer. J'aimerais que la variable %PrinterName% soit un input pour moi, pour que je puisse écrire le nom du printer justement. Ayant tous des noms d'imprimante différent selon l'étage et le bureau (Et le VLan), je ne peux pas mettre juste un printer name random comme ca.

Si jamais mex explications sont pas assez claire, let me know.

Merci!!!

Après plusieurs recherches Google, plusieurs disent qu'il faut simplement faire un POWER CYCLE sur l'imprimante pour arranger le problème.

  • J'aime! 1
Lien vers le commentaire
Partager sur d’autres sites

On a tout essayé, je t'assure. Le helpdesk a même fait affaire aux tech de service pour nos HP. Je suis donc sur un script suite à un fix que j'ai trouvé. Le bug c'est qu'on a tellement de InHouse apps et de printer ajouté par eux (Dont aussi des Copy/Print Tracker) qu'on se pose, à la longue et avec la force des chose, beaucoup de piste de problème. Les solutions sont de plus en plus minimes rendu ou j'suis...

Lien vers le commentaire
Partager sur d’autres sites

JPeg, je sais que t'es fort en programmation, aurais-tu une idée comment faire pour ajouter un Input à l'option 4 pour que la variable %PrinterName% puisse être défini en entrant le nom? Par exemple, dans mon OptionMenu, quand j'appuie sur 4, j'obtiendrais:

Type Printer Name:

Je sais pas trop comment m'y prendre pour insérer un Input dans un Batch...

Si jamais tu as un lapin dans ton chapeau, let me know.

Merci!

Lien vers le commentaire
Partager sur d’autres sites

JPeg, je sais que t'es fort en programmation, aurais-tu une idée comment faire pour ajouter un Input à l'option 4 pour que la variable %PrinterName% puisse être défini en entrant le nom? Par exemple, dans mon OptionMenu, quand j'appuie sur 4, j'obtiendrais:

Type Printer Name:

Je sais pas trop comment m'y prendre pour insérer un Input dans un Batch...

Si jamais tu as un lapin dans ton chapeau, let me know.

Merci!

set /p PrinterName=Type printer name:

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Je veux revenir!
 Partager

×
×
  • Créer...