Bonjour,

Je n'arrive pas à supprimer les répertoires voulus sur un serveur bien que je sois admin du domaine.
Plutôt que de faire de longs discours je préfère vous fournir mon script.
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
 
' VB Script Document
option explicit
 
'On Error resume next
 
Dim ConnexionReseau, LecteurReseau, RepUserASup, Repertoire
Dim ListeServeurs, LectureLigne,LigneTronquee, FichierLog
Dim f1, f2, f3, f4, f5, fx, fy, fz, i, X
Dim Tablo()
Dim NomAdmin, PasswordAdmin
Dim Serveur, DomaineDuDc
Dim DateDebut, DateFin
Const ForReading=1
Const ForWriting=2
Const ForAppending=8
 
X=0
 
'=======================================================
'Affichage de la date de debut du commencement du script
'=======================================================
DateDebut=Now 'Affectation de la variable pour calcul ulterieur du temps passe pour lexecution du script
WScript.Echo Day(DateDebut)& "."& Month(DateDebut)& "."& Year(DateDebut)& " "& Hour(DateDebut)& ":"& Minute(DateDebut)& ":"& Second(DateDebut)
 
'Declaration des Objets
Set f1 = CreateObject("Scripting.FileSystemObject")
Set ConnexionReseau = CreateObject("WScript.Network")
 
Set ListeServeurs=f1.OpenTextFile("D:\Boulot\ScriptsVbs\ServeursDc2.csv",ForReading) 'Ouverture du fichier de la liste des serveurs
Set FichierLog=f1.OpenTextFile("D:\Boulot\ScriptsVbs\LogSupRep.Log",ForWriting,True) 'Creation ou mise a zero du fichier de log
'Set ListeServeurs=f1.OpenTextFile("G:\ScriptsVbs\ServeursDc.csv",ForReading) 'Ouverture du fichier de la liste des serveurs
'Set FichierLog=f1.OpenTextFile("G:\ScriptsVbs\LogSupRep.Log",ForWriting,True) 'Creation ou mise a zero du fichier de log
'Set ListeServeurs=f1.OpenTextFile("c:\SvrUtils\UserSup\ServeursDc.csv",ForReading) 'Ouverture du fichier de la liste des serveurs
'Set FichierLog=f1.OpenTextFile("c:\SvrUtils\UserSup\Log\LogSupRep.Log",ForWriting,True) 'Creation ou mise a zero du fichier de log
 
'==========================================
'Ecriture de la date dans le fichier de log
'==========================================
FichierLog.WriteLine Day(DateDebut) & "." & Month(DateDebut) & "." & Year(DateDebut) & " " & Hour(DateDebut) & ":" & Minute(DateDebut) & ":"& Second(DateDebut)
 
'==================
'Corps du programme
'==================
Do While not	ListeServeurs.AtEndOfStream 'Tant qu'on est pas a la fin du fichier de serveur on continue
	LectureLigne=ListeServeurs.Readline 'Lecture ligne a ligne du fichier de serveur
	LigneTronquee=split(LectureLigne,";") 'On eclate la premiere ligne qui est mise dans un tableau
	Serveur=LigneTronquee(0)
	DomaineDuDc=LigneTronquee(1)
	NomAdmin= LigneTronquee(2)
	PasswordAdmin= LigneTronquee(3)
 
	Set LecteurReseau=ConnexionReseau.EnumNetworkDrives 'On liste les lecteurs reseaux sur le serveur
 
	'=====================================
	'Teste la presence des lecteurs reseau
	'=====================================
	For i = 0 to LecteurReseau.Count - 1 Step 2
		If LecteurReseau.Item(i)="Y:" then
			ConnexionReseau.RemoveNetworkDrive "Y:" 'Si Y: existe on le supprime
		end if
		If LecteurReseau.Item(i)="Z:" then
			ConnexionReseau.RemoveNetworkDrive "Z:" 'Si Z: existe on le supprime
		end if
	Next
	'==================================================
	'On etabli les deux connections reseaux necessaires
	'==================================================
	ConnexionReseau.MapNetworkDrive "Y:","\\" & Serveur & "\USERS",False,DomaineDuDc & "\" & NomAdmin,PasswordAdmin
	ConnexionReseau.MapNetworkDrive "Z:","\\" & Serveur & "\USERS_PERSO",False,DomaineDuDc & "\" & NomAdmin,PasswordAdmin
	Set f2 = f1.GetFolder("Y:")
	Set f3 = f1.GetFolder("Z:")
	Set fy = f2.SubFolders
	Set fz = f3.SubFolders
 
	WScript.Echo "================================"
	WScript.Echo "Serveur " & Serveur & " Domaine " & DomaineDuDc
	WScript.Echo "================================"
	WScript.Echo "  ================"
	WScript.Echo "  Ressources USERS"
	WScript.Echo "  ================"
	FichierLog.WriteLine "================================"
	FichierLog.WriteLine "Serveur " & Serveur & " Domaine " & DomaineDuDc
	FichierLog.WriteLine "================================"
	FichierLog.WriteLine "  ================"
	FichierLog.WriteLine "  Ressources USERS"
	FichierLog.WriteLine "  ================"
 
	'===============================================================================================
	'Test de la presence des repertoires contenant A-SUP, A_SUP, ASUP et affectation dans un tableau
	'===============================================================================================
	For Each f4 in fy
		if (InStr(1,LCase(f4.name),LCase("A-SUP"),1)<>0) or (InStr(1,LCase(f4.name),LCase("A_SUP"),1)<>0) or (InStr(1,LCase(f4.name),LCase("ASUP"),1)<>0) then
			Redim Preserve Tablo(X)
			Tablo(X)=f4.path
			X=X+1
		End if
	Next
 
	'=========================
	'On efface les repertoires
	'=========================
	If Tablo(0)<>"" then 'S'il y a au moins une donnée dans Tablo
		for i=Lbound(Tablo) to Ubound(Tablo)
 
'*******************************************************
'*************** le probléme *******************************
                                f1.DeleteFolder (Tablo(i)),True 'On efface les repertoire dont le nom figure dans le Tableau
'*******************************************************
'*******************************************************
 
				If (f1.FolderExists(Tablo(i))) then 'Petite verif si on a pu effacer les repertoires'
					WScript.Echo Tablo(i) & " n'a pas ete efface"
					FichierLog.Writeline Tablo(i) & " n'a pas ete efface"
				Else
					WScript.Echo Tablo(i) & " supprime"
					FichierLog.Writeline Tablo(i) & " supprime"
				End if
		Next
	End if
 
	Redim Tablo(0) 'On remet le tableau Tablo a zero
	X=0
 
	WScript.Echo "  ======================"
	WScript.Echo "  Ressources USERS_PERSO"
	WScript.Echo "  ======================"
	FichierLog.WriteLine "  ======================"
	FichierLog.WriteLine "  Ressources USERS_PERSO"
	FichierLog.WriteLine "  ======================"
 
	'===============================================================================================
	'Test de la presence des repertoires contenant A-SUP, A_SUP, ASUP et affectation dans un tableau
	'===============================================================================================
	For Each f5 in fz
		if (InStr(1,LCase(f5.name),LCase("A-SUP"),1)<>0) or (InStr(1,LCase(f5.name),LCase("A_SUP"),1)<>0) or (InStr(1,LCase(f5.name),LCase("ASUP"),1)<>0) then
			Redim Preserve Tablo(X)
			Tablo(X)=f5.path
			X=X+1
		End if
	Next
 
	'=========================
	'On efface les repertoires
	'=========================
	If Tablo(0)<>"" then 'S'il y a au moins une donnée dans le Tablo
		for i=Lbound(Tablo) to Ubound(Tablo)
				f1.DeleteFolder (Tablo(i)),True 'On efface les repertoire dont le nom figure dans le Tableau
				If (f1.FolderExists(Tablo(i))) then 'Petite verif si on a pu effacer les repertoires'
					WScript.Echo Tablo(i) & " n'a pas ete efface"
					FichierLog.Writeline Tablo(i) & " n'a pas ete efface"
				Else
					WScript.Echo Tablo(i) & " supprime"
					FichierLog.Writeline Tablo(i) & " supprime"
				End if
		Next
	End if
 
	'=========================================
	'Suppression des lecteurs reseaux Y: et Z:
	'=========================================
	ConnexionReseau.RemoveNetworkDrive "Y:"
	ConnexionReseau.RemoveNetworkDrive "Z:"
Loop 'On reboucle
 
LectureLigne.Close 'Fermeture du fichier Serveur
 
DateFin=Now 'Date de fin mise dans la variable
WScript.Echo Day(DateFin) & "." & Month(DateFin) & "." & Year(DateFin) & " " & Hour(DateFin) & ":" & Minute(DateFin) & ":" & Second(DateFin) 'Affichage de la date
WScript.Echo "Temps d'execution du script: " & DateDiff("n", DateDebut, DateFin) & " Minute(s)" 'On affiche la difference de temps entre le debut et la fin de l'execution du script
FichierLog.WriteLine Day(DateFin) & "." & Month(DateFin) & "." & Year(DateFin) & " " & Hour(DateFin) & ":" & Minute(DateFin) & ":" & Second(DateFin) 'Ecriture de la date dans la log
FichierLog.WriteLine "Temps d'execution du script: " & DateDiff("n", DateDebut, DateFin) & " Minute(s)" 'Ecriture de la difference de temps entre le debut et la fin de l'execution du script dans la log
 
FichierLog.close 'Fermeture du fichier de log
Voilà mon message d'erreur:
D:\Boulot\ScriptsVbs\SupRepUserDc.vbs(104, 5) Erreur d'exécution Microsoft VBScript: Permission refusée
Code de la ligne ou se produit l'erreur : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
'*************** le probléme *******************************
f1.DeleteFolder (Tablo(i)),True 'On efface les repertoire dont le nom figure dans le Tableau
'*******************************************************

A mon avis Mon problème viens d'où je me situe dans l'arborescence mais je ne sais pas comment faire.

Merci pour votre aide