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 :
Ce d'ont j'ai l'impression c'est que ma fonction pour implanter le CSV dans un tableau ne fonctionne pas.
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
Je n'arrive pas à trouver ou je me plante.
Merci par avance, de l'aide que vous voudriez bien m'apporter.
Cordialement,
Cthulhu88
Partager