OVH Cloud OVH Cloud

Connecter des imprimantes automatiquement par leur IP

3 réponses
Avatar
Lancelet
Bonjour,

Actuellement, les imprimantes sont installées grâce à un login script, en
fonction de l'endroit où les utilisateurs se connectent.

En cas de panne de mon contrôleur de domaine, sur lequel sont partagées les
imprimantes réseau, j'aimerais pouvoir rapidement installer quelques
imprimantes. J'ai pu le faire manuellement, en utilisant l'assistant "ajout
d'imprimante" et en créant un port tcp/ip utilisant l'adresse réseau de
l'imprimante, mais j'aimerais automatiser cette procédure.

Je pensais utiliser la commande rundll32 printui.dll,PrintUIEntry

dont j'ai trouvé les détails ici.

http://support.microsoft.com/default.aspx?scid=kb;fr;189105

Comme mes tentatives ont pour l'instant échoué, je voulais quand même
demander votre avis: est-ce seulement possible?

Lancelet

3 réponses

Avatar
Jacques Barathon [MS]
Je trouve original le choix de rétablir l'accès aux imprimantes en priorité
sur le retour en ligne du contrôleur de domaine, mais après tout tu as sans
doute une très bonne raison. Je te conseille de passer par un script vbs, et
pour cela tu pourras t'inspirer du script suivant:

--- couper ici ---
Set objWMIService = GetObject("winmgmts:")
Set objNewPort = objWMIService.Get _
("Win32_TCPIPPrinterPort").SpawnInstance_

PortString = replace(PrinterShareName,"","_")
objNewPort.Name = mid(PortString,3)
objNewPort.Protocol = 1
objNewPort.HostAddress = PrinterNameOrIP
objNewPort.PortNumber = "9100"
objNewPort.SNMPCommunity = "public"
objNewPort.SNMPDevIndex = "1"
'objNewPort.Queue objNewPort.SNMPEnabled = True
objNewPort.Put_

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2")

Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_

objPrinter.DriverName = "HP Color LaserJet 4550 PS"
objPrinter.PortName = mid(PortString,3)
objPrinter.DeviceID = "local_" & mid(PortString,3)
objPrinter.Put_

msgbox(PrinterShareName & " installée!")
--- couper ici ---

Tu peux utiliser Scriptomatic sur le serveur pour obtenir des infos sur les
imprimantes qui t'aideront à personnaliser le script:
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/scriptcenter/default.asp

Interroge l'objet Win32_Printer pour avoir le nom du driver (DriverName).
Interroge l'objet Win32_TCPIPPrinterPort pour avoir la configuration du port
(Protocol, PortNumber, SNMP settings, etc).

Jacques

"Lancelet" wrote in message
news:
Bonjour,

Actuellement, les imprimantes sont installées grâce à un login script, en
fonction de l'endroit où les utilisateurs se connectent.

En cas de panne de mon contrôleur de domaine, sur lequel sont partagées
les
imprimantes réseau, j'aimerais pouvoir rapidement installer quelques
imprimantes. J'ai pu le faire manuellement, en utilisant l'assistant
"ajout
d'imprimante" et en créant un port tcp/ip utilisant l'adresse réseau de
l'imprimante, mais j'aimerais automatiser cette procédure.

Je pensais utiliser la commande rundll32 printui.dll,PrintUIEntry

dont j'ai trouvé les détails ici.

http://support.microsoft.com/default.aspx?scid=kb;fr;189105

Comme mes tentatives ont pour l'instant échoué, je voulais quand même
demander votre avis: est-ce seulement possible?

Lancelet


Avatar
Lancelet
"Jacques Barathon [MS]" écrivait
news:OvdAm#:

Je trouve original le choix de rétablir l'accès aux imprimantes en
priorité sur le retour en ligne du contrôleur de domaine, mais après
tout tu as sans doute une très bonne raison. Je te conseille de passer
par un script vbs, et pour cela tu pourras t'inspirer du script
suivant:


Je revendique mon droit à l'originalité :-)
Plus sérieusement, ma priorité reste le serveur. Mais en cas de panne
prolongée, si je peux, sans perdre trop de temps, faire en sorte que mes
utilisateurs récupèrent certaines fonctionnalités, ça m'ôte une épine du
pied.

Merci pour le script, je vais me pencher sur cette solution.
Il fonctionne avec w2k server? Ou seulement avec Windows 2003 ?

Lancelet

Avatar
Jacques Barathon [MS]
"Lancelet" wrote in message
news:

Je revendique mon droit à l'originalité :-)


J'espère bien! :-)

Plus sérieusement, ma priorité reste le serveur. Mais en cas de panne
prolongée, si je peux, sans perdre trop de temps, faire en sorte que mes
utilisateurs récupèrent certaines fonctionnalités, ça m'ôte une épine du
pied.

Merci pour le script, je vais me pencher sur cette solution.
Il fonctionne avec w2k server? Ou seulement avec Windows 2003 ?


Ca a été conçu dans un environnement W2K Server et XP, non testé sous 2003
mais je ne pense pas qu'il y ait contre-indication.

Jacques