Script VB pour ré-installation d'imprimantes [aide svp]

Script VB pour ré-installation d'imprimantes [aide svp] - VB/VBA/VBS - Programmation

Marsh Posté le 14-10-2009 à 13:56:46    

Bonjour à tous programmeurs  :jap:  
 
Je suis actuellement dans une boite, j'ai effectué une migration du serveur d'impression.  
 
le problème est que je dois maintenant faire un script, en VB qui sera integrets à un script qui s'exécute sur chaque machine.
Se script doit avoir pour but de réinstaller automatiquement les imprimantes qui sont sur le nouveau serveur; à chaque utilisateur.  :jap:  
 
J'aimerai bien que quelqu'un m'aide. IL faudrait déjà que le script
 
Liste les imprimantes installées sur le pc.
Les effaces.
Et ré-installe les imprimantes qui sont sur le nouveau serveur.
 
 :(  N'ayant pas vraiment de bases.. je suis un peu largué.  :jap:  
 
On ma dit que c'était pas très long et dur mais... si une gentille aide pouvez m'éclairer.  :hello:


Message édité par Dew67 le 14-10-2009 à 14:01:10
Reply

Marsh Posté le 14-10-2009 à 13:56:46   

Reply

Marsh Posté le 14-10-2009 à 14:50:46    

Est-ce une bonne base ?
 
 
' Script de connection des imprimantes réseau pour la migration du Print Server
' 25.10.2007, v1.3
 
Dim WshNetwork
dim pDefault
strComputer = "."
cpt = 0
 
Const newServer="\\serv-1\"
Const oldServer="\\serv-2\"
 
Set WshNetwork = WScript.CreateObject("WScript.Network" )
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2" )
Set colInstalledPrinters = objWMIService.ExecQuery ("Select * from Win32_Printer" )
 
'Quel est la default printer
pDefault = GetDefaultPrinter
 
For Each objPrinter in colInstalledPrinters
 
Name = LCase(objPrinter.Name)
 
'Ne modifie que les imprimantes réseau sur l'ancien serveur et non les autres
If inStr(Name, oldServer) Then
cpt = ctp + 1
'Remplace le nom de l'ancien serveur par le nouveau
NewName = Replace(Name, oldServer, newServer)
 
'Remove de l'ancien mappage
WshNetwork.RemovePrinterConnection Name
 
'Mappage sur le nouveau print server
WshNetwork.AddWindowsPrinterConnection NewName
End If
Next
 
'Si il n'y a pas d'imprimante réseau, l'imprimante par défaut reste la même
If (cpt > 0) then
'Nouveau default printer
pDefault = Replace(pDefault, oldServer, newServer)
WshNetwork.SetDefaultPrinter pDefault
End If
 
'Fin du script
Wscript.quit()
 
 
'Trouve l'imprimante définie par défaut
Function GetDefaultPrinter()
Set oShell = CreateObject("WScript.Shell" )
sRegVal = "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device"
sDefault = ""
 
On Error Resume Next
sDefault = oShell.RegRead(sRegVal)
sDefault = Left(sDefault ,InStr(sDefault, "," ) - 1)
On Error Goto 0
GetDefaultPrinter = sDefault
End Function

Reply

Marsh Posté le 27-01-2010 à 17:20:00    

Bonjour, quelle est la commande pour faire une recherche sur les imprimantes installées sur un serveur est non pas sur la machine cliente où est executé le script ?

Reply

Marsh Posté le 17-11-2011 à 09:50:09    

bonjour,
 
lors de mon execution de ce script, j'ai le message d'erreur suivant: the specified module could not be found.    code : 8007007E
 
merci pour votre support.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed