1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
| Option Explicit
Dim WshNetwork
Dim objNetwork
Dim colprinters
Dim PrinterName
Dim i
Dim oldPrinter
Dim newPrinter
Dim printerfound
Dim oldserver
Dim newserver
dim len1, len2
dim objFSO, strFolder, fso, fl
'paramétrage du nom du serveur, nouveau et ancien, création du fichier Log dans C:\LOG
'oldserver = InputBox("Taper le nom de l'ancien serveur", "Taper le nom de l'ancien serveur", "Ancien serveur")
'newserver = InputBox("Taper le nom du nouveau serveur", "Taper le nom ddu nouveau serveur", "Nouveau serveur")
oldserver = "etdssrv013"
newserver = "bycssrv177"
strFolder = "C:\LOG\MIGRATION IMPRIMANTE"
Set objFSO = CreateObject("Scripting.FileSystemObject")
If Not objFSO.FolderExists(strFolder) Then
objFSO.CreateFolder(strFolder)
End If
Set fso = CreateObject("Scripting.FileSystemObject")
Set fl = fso.OpenTextFile("C:\LOG\MIGRATION IMPRIMANTE\Migration.log", 2, True)
fl.WriteLine( "*** Migration des imprimantes " & Now & " ***" )
fl.WriteLine ( "******************************************************************************************" )
' Trouver la liste des imprimantes installés
' et scanner les imprimantes à migrer.
Set objNetwork = WScript.CreateObject("WScript.Network")
' Enumère les imprimnates installés sur le PC
Set colPrinters = objNetwork.EnumPrinterConnections
For i = 0 to colPrinters.Count -1 Step 2
printerfound = "no"
' Vérifie que l'imprimante était sur l'ancien serveur
If UCase(mid(colprinters.Item (i + 1),3,len(oldserver))) = ucase(oldserver) Then
oldPrinter = colprinters.Item (i + 1)
wscript.echo oldprinter
fl.WriteLine ( "Ancienne valeur : " & oldprinter )
Set fso = Nothing
len1 = len(oldserver) + 2
len2 = len(oldprinter) - len1
newPrinter = "\\" & newserver & right(oldprinter,len2)
fl.WriteLine( "Nouvelle valeur : " & "\\" & newserver & right(oldprinter,len2) )
printerfound = "yes"
End If
'Si l'imprimante est sur l'ancien serveur, il le migre
If printerfound = "yes" Then
SwapPrinter
End If
Next
WScript.Echo "Migration des imprimantes -> OK"
fl.WriteLine( "Migration des imprimantes -> OK" )
Sub SwapPrinter
Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.AddWindowsPrinterConnection newPrinter
fl.WriteLine( "Ajout nouvelle imprimante -> OK" )
WshNetwork.RemovePrinterConnection oldPrinter
fl.WriteLine( "Suppression ancienne imprimante -> OK" )
fl.WriteLine ( "******************************************************************************************" )
fl.Close : Set fl = Nothing
End Sub
WScript.quit |
Partager