Bonjour,

Je suis sur un script pour la migration des imprimantes, j'ai le message suiviant lors l'ajout de ligne dans le fichier de log :

Ligne 53 Caract 1, objet requis

Si vous avez quelques minutes pour m'aider, je vous en remercie.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
merci