Bonjour à tous,

N'étant pas très bon en développement je me permet de venir vers vous car après plusieurs heure de recherche je n'arrive au résultat souhaité.

Mon script à pour but de lancer la commande repadmin /showrepl /csv > repertoir/fichier.csv, afin de sortir le résultat CSV dans un répertoire.

Puis dans un second temps convertir le CSV dans un tableau et rechercher la valeur ayant le non de serveur souhaiter et pointer vers la date de réussite ou échec.

Cela permettra de monitorer la réplication ntds.

Voici ce que j'ai déja réussi a coder :

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
Option Explicit
On Error Resume Next
 
Dim oFSO, NtdsFail
Dim file_name, file_test
Dim result_array()
Dim oshell
Dim fso
 
Const ForReading = 1
 
'==============================================================
'==	Génération du fichier CSV à analyser
'==============================================================
 
Set oshell = WScript.Createobject ("wscript.shell")
oshell.run "cmd.exe /c repadmin /showrepl /csv>c:\zabbix\repl_NTDS.csv"
Set oShell = Nothing
 
Wscript.Sleep 3000 
 
Set oFSO = CreateObject("scripting.FilesystemObject")
Set file_name = oFSO.GetFile("c:\zabbix\replNTDS.csv")
Set NtdsFail = oFSO.OpenTextFile ("c:\zabbix\replNTDS.csv", ForReading)
 
'==============================================================
'==	test d'existance de fichier csv'
'==============================================================
 
 
'Create Condition
If (oFSO.FileExists("c:\zabbix\replNTDS.csv")) Then
	'Alert User
	WScript.Echo("File exists!")
	'WScript.Quit()
Else
	'Alert User
	WScript.Echo("File does not exist!")
	'Exit Script
	WScript.Quit()
End If
 
 
'==============================================================
'==	Fonction pour analyse CSV
'==============================================================
 
 
 Do while NtdsFail.AtEndOfStream <> True
 
		Wscript.Echo "test"
		If inStr(NtdsFail.Readline,",") Then
		result_array = Split(NtdsFail.ReadLine,",")
 
		For i = 0 To UBound(result_array) 	
		If result_array(5) = "nom_du_serveur_AD" Then
			Wscript.Echo resul_array(9)	
 
		Next
		End If
 
 
Exit Do	
Loop
NtdsFail.Close
Ce d'ont j'ai l'impression c'est que ma fonction pour implanter le CSV dans un tableau ne fonctionne pas.
Je n'arrive pas à trouver ou je me plante.

Merci par avance, de l'aide que vous voudriez bien m'apporter.

Cordialement,

Cthulhu88