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 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264
| 'ligne normale : "C:\Nouveau COSMOS\*:(OI)(CI)F"
'ligne utilisateur sup. : " COSMOS\*:(OI)(CI)F"
'ligne de droits : " FILE_WRITE_ATTRIBUTES"
'_________________________LECTURE d'un fichier_____________________________
'déclaration file system object
Dim fso
'instanciation
Set FSO = CreateObject("Scripting.FileSystemObject")
'on instance le fichier texte
Set Ftxt = FSO.OpenTextFile("C:\Documents and Settings\fabienmoreau\test.txt")
'on parcours chaque ligne du fichier texte
Do While Not Ftxt.AtEndOfStream
MaVariable = Ftxt.Readline
if MaVariable <> "" Then
'WScript.echo MaVariable
traitementLigne(MaVariable)
End If
Loop
Ftxt.Close
'__________________________Ecrire d'un fichier_______________________________
Dim FSys, MonFic
FSys = CreateObject("Scripting.FileSystemObject")
MonFic = FSys.CreateTextFile("C:\droits.html")
'cette fonction permet de ne pas écraser ce qui avait écrit précédement dans le fichier
'Sub MonFic.writeLine(chaine)
'Set FSys = CreateObject("Scripting.FileSystemObject")
'Set f = FSys.OpenTextFile("C:\droits.html",8)
'With f
'MonFic.writeLine chaine
'End With
'End Sub
'____________________________Préparation du fichier HTML_______________________
MonFic.writeLine "coucou"
MonFic.writeLine "<HTML>"
MonFic.writeLine "<HEAD>"
MonFic.writeLine "<TITLE>Récapitulatifs des droits des dossiers partagés du réseau de chez Lexibook</TITLE>"
MonFic.writeLine "</HEAD>"
MonFic.writeLine "<BODY>"
MonFic.writeLine "<TABLE BORDER=""" & "1" &""" ALIGN=" & """CENTER""" & ">"
MonFic.writeLine "<CAPTION> Droits </CAPTION>"
MonFic.writeLine "<TR ALIGN=""" & "CENTER""" & ">"
MonFic.writeLine "<TH> Chemin du répertoire ou fichier </TH>"
MonFic.writeLine "<TH> Groupe ou utilisateur ayant des droits</TH>"
MonFic.writeLine "<TH> Lecture </TH>"
MonFic.writeLine "<TH> Ecriture </TH>"
MonFic.writeLine "<TH> Modification </TH>"
MonFic.writeLine "<TH> Execution </TH>"
MonFic.writeLine "<TH> Appropriation </TH>"
MonFic.writeLine "<TH> Controle total </TH>"
MonFic.writeLine "</TR>"
MonFic.writeLine "coucou"
'_________________________Choix du mot dans la ligne___________________________
'cette fontion découpe les mots d'une chaine et sort le mot de la chaine choisi
'elle affiche également les mots de la chaine
'cette fonction permet de découper la chaine de caractères avec différentes sortes de séparateurs
'cette fonction gère également lorsqu'il y a plusieurs séparateurs à la suite
Function motChoisi(chaine,separateur,numMot)
chaineU=chaine
cpt = 1
nb = -1
Do While nb <> 0
'nb renvoie le premier caractère " " trouvé dans la chaine
nb=Instr(chaineU,separateur)
'si aucun espace a été trouvé
If nb <> 0 Then
'un espace est trouvé comme mot
If nb = 1 Then
cpt = cpt-1
chaineU = right(chaineU, len(chaineU)-1)
Else
mot_courant = left(chaineU, nb-1)
If numMot=cpt Then
motChoisi=mot_courant
End If
End If
chaineU=right(chaineU, len(chaineU) - nb+1)
cpt = cpt+1
Else
If numMot=cpt Then
motChoisi=chaineU
End If
End If
Loop
End Function
'__________________________Traitement de chaque ligne_________________________
Sub traitementLigne(Ligne)
'premiere ligne'
If left(Ligne,1) <> " " Then
'WScript.echo "vous etes sur la première ligne"
chemin = motChoisi(Ligne," ",1)
MonFic.writeLine "<TR>"
MonFic.writeLine "<TD>" & chemin & "</TD>"
reste = right(Ligne,len(Ligne)-len(chemin)-1)
util = motChoisi(motChoisi(reste,"\",2),":",1)
MonFic.writeLine "<TD>" & util & "</TD>"
domaineEtUtil=motChoisi(reste,":",1)
droits = right(reste,len(reste)-len(domaineEtUtil)-1)
WScript.echo "chemin : " & chemin
'WScript.echo "reste _" & reste
'Si nomDeDomaine\NomUtilisateur:droits
WScript.echo "Voici l'utilisateur ou le groupe: " & util
WScript.echo "Voici les droits : " & droits
'On s'occupe maintenant des droits
If Instr(droits,"(CI)") <> 0 OR Instr(droits,"(IO)") <> 0 OR Instr(droits,"(OI)") <> 0 Then
WScript.echo "Ces droits sont hérités"
MonFic.writeLine "<TD>" & "X" & "</TD>"
Else WScript.echo "Ces droits ne sont pas hérités"
MonFic.writeLine "<TD>" & "-" & "</TD>"
End If
If Instr(droits,"F") <> 0 Then
Wscript.echo "possede tous les droits"
MonFic.writeLine "<TD>" & "X" & "</TD>"
MonFic.writeLine "<TD>" & "X" & "</TD>"
MonFic.writeLine "<TD>" & "X" & "</TD>"
MonFic.writeLine "<TD>" & "X" & "</TD>"
MonFic.writeLine "<TD>" & "X" & "</TD>"
MonFic.writeLine "</TR>"
Else If Instr(droits,"C") <> 0 Then
WScript.echo "ne possèdent pas tous les droits"
Wscript.echo "droit de modification"
WScript.echo "droit de lecture"
WScript.echo "droit d'écriture"
MonFic.writeLine "<TD>" & "X" & "</TD>"
MonFic.writeLine "<TD>" & "X" & "</TD>"
MonFic.writeLine "<TD>" & "X" & "</TD>"
MonFic.writeLine "<TD>" & "X" & "</TD>"
MonFic.writeLine "<TD>" & "-" & "</TD>"
MonFic.writeLine "<TR>"
Else If Instr(droits,"(accs spcialÿ:)") <> 0 Then
Wscript.echo "On doit aller voir plus loin"
End If
End If
End If
'pas ligne normale donc soit ligne utilisateur sup. soit ligne de droits
Else
'ligne utilisateur sup.
If Instr(Ligne,"\") Then
MonFic.writeLine "</TR>"
MonFic.writeLine "<TR>"
'nous traitons donc le cas même chemin que le précédent
MonFic.writeLine "<TD>" & chemin & "</TD>"
WScript.echo "C'est une ligne pour un nouvel utilisateur"
Ligne=sansEspaces(Ligne)
Util=motChoisi(motChoisi(Ligne,"\",2),":",1)
MonFic.writeLine "<TD>" & util & "</TD>"
domaineEtUtil=motChoisi(reste,":",1)
droits = right(reste,len(Ligne)-len(domaineEtUtil)-1)
WScript.echo "droits et nouvelles regles pour " & Util
WScript.echo "droits " & droits
If Instr(Ligne,"F") <> 0 Then
Wscript.echo "possede tous les droits"
MonFic.writeLine "<TD>" & "X" & "</TD>"
MonFic.writeLine "<TD>" & "X" & "</TD>"
MonFic.writeLine "<TD>" & "X" & "</TD>"
MonFic.writeLine "<TD>" & "X" & "</TD>"
MonFic.writeLine "<TD>" & "X" & "</TD>"
Else If Instr(Ligne,"C") <> 0 Then
MonFic.writeLine "<TD>" & "X" & "</TD>"
MonFic.writeLine "<TD>" & "X" & "</TD>"
MonFic.writeLine "<TD>" & "X" & "</TD>"
MonFic.writeLine "<TD>" & "X" & "</TD>"
MonFic.writeLine "<TD>" & "-" & "</TD>"
WScript.echo "ne possèdent pas tous les droits"
Wscript.echo "droit de modification"
WScript.echo "droit de lecture"
WScript.echo "droit d'écriture"
Else If Instr(Ligne,"(accs spcialÿ:)") <> 0 Then
'le GUID permet de faciliter la mise en page du tableau HTML
'code : si présent 1 si non présent : 0
'lecture ecriture modification execution appropriation
' 1 1 1 1 1
GUID = 0
Wscript.echo "On doit aller voir plus loin"
End If
End If
End If
'ligne de droits
Else
Ligne=sansEspaces(Ligne)
analyseDroits(Ligne)
End If
End If
End Sub
Function sansEspaces(mot)
Do While left(mot,1) = " "
mot=right(mot,len(mot)-1)
Loop
sansEspaces=mot
End Function
'Récapitulatif des droits dont nous avons besoin
'+controle total : F
'-controle total: C
'+lecture : READ_CONTROL
'+ecriture: FILE_WRITE_DATA
'+executer: FILE_EXECUTE
'changement appropriation: WRITE_OWNER
Sub analyseDroits(Ligne)
If Ligne = "READ_CONTROL" Then
WScript.echo "vous avez les droits de lecture"
GUID = GUID + 10000
End If
If Ligne = "FILE_WRITE_DATA" Then
Wscript.echo "Vous avez le droit d'écriture"
GUID = GUID + 01000
End If
If Ligne = "DELETE" Then
WScript.echo "vous avez le droit d'appropriation"
GUID = GUID + 00100
End If
If Ligne = "FILE_EXECUTE" Then
WScript.echo "Vous avez le droit d'execution"
GUID = GUID + 00010
End If
If Ligne = "WRITE_OWNER" Then
WScript.echo "vous avez le droit d'appropriation"
GUID = GUID + 00001
End If
analyseGUID GUID
End Sub
Sub analyseGUID(nombre)
chiffre1 = mid(GUID, 1,1)
chiffre2 = mid(GUID, 2,1)
chiffre3 = mid(GUID, 3,1)
chiffre4 = mid(GUID, 4,1)
chiffre5 = mid(GUID, 5,1)
If chiffre1="1" Then
MonFic.writeLine "<TD>" & "X" & "</TD>"
Else MonFic.writeLine "<TD>" & "-" & "</TD>"
End If
If chiffre2="1" Then
MonFic.writeLine "<TD>" & "X" & "</TD>"
Else MonFic.writeLine "<TD>" & "-" & "</TD>"
End If
If chiffre3="1" Then
MonFic.writeLine "<TD>" & "X" & "</TD>"
Else MonFic.writeLine "<TD>" & "-" & "</TD>"
End If
If chiffre4="1" Then
MonFic.writeLine "<TD>" & "X" & "</TD>"
Else MonFic.writeLine "<TD>" & "-" & "</TD>"
End If
If chiffre5="1" Then
MonFic.writeLine "<TD>" & "X" & "</TD>"
Else MonFic.writeLine "<TD>" & "-" & "</TD>"
End If
MonFic.writeLine "</TR>"
End Sub
'cloture du tableau et du fichier HTML
MonFic.writeLine "</TABLE>"
MonFic.writeLine "</BODY>"
MonFic.writeLine "</HTML>" |