Script VB pour ré-installation d'imprimantes [aide svp] - VB/VBA/VBS - Programmation
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
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 ?
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.
Marsh Posté le 14-10-2009 à 13:56:46
Bonjour à tous programmeurs
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.
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é.
On ma dit que c'était pas très long et dur mais... si une gentille aide pouvez m'éclairer.
Message édité par Dew67 le 14-10-2009 à 14:01:10