Précédent   Forum des professionnels en informatique > Autres langages > Général Visual Basic 6 et VBScript > VBScript
VBScript Le forum d'entraide sur VBScript. Avant de poster -> La FAQ VBScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/02/2012, 14h50   #1
Membre du Club
 
Inscription : octobre 2003
Messages : 152
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 152
Points : 42
Points : 42
Par défaut Accorder les droits sur dossier sous-dossier

Bonjour

J'ai la configuration suivante :

Un dossier DIFFUSION et deux sous dossiers INV et DRH

Comment peux-t-on attribuer les droits en lecture au dossier DIFFUSION
pour l'utilisateur USER1 et les droits en lecture sur le sous-dossier INV pour l'utilisateur USER1 et ne pas attribuer de droits sur le sous-dossier DRH


Code :
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
Option Explicit
Dim strHomeFolder, strHome, strUser
Dim intRunError, objShell, objFSO
 
 
strHomeFolder = "E:\DIFFUSION\INV"
 
 
 
Set objShell = CreateObject("Wscript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(strHomeFolder) Then
 
 
'''''''''''''''''''''''''''''''''''''''''''''
'ATTRIBUTION DES DROITS D ACCES  ''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''
 
intRunError = objShell.Run("%COMSPEC% /c Echo Y| cacls " _
& strHomeFolder & " /e /g user1:r ", 2, True)
   If intRunError <> 0 Then
   Wscript.Echo "Error assigning permissions for user " _
   & strUser & " to home folder " & strHomeFolder
   End If
End If
Ce code n'attribue pas les droits

Merci pour vos réponses
qmike est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 14h16   #2
Membre Expert
 
Avatar de hackoofr
 
Homme Mehdi Tounisiano
Enseignant
Inscription : juin 2009
Messages : 760
Détails du profil
Informations personnelles :
Nom : Homme Mehdi Tounisiano
Âge : 37
Localisation : Tunisie

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : juin 2009
Messages : 760
Points : 1 280
Points : 1 280

J'ai ajouté quelques fonctions pour le test chez-moi tout en espérant qu'il va marcher chez-vous
Donc, moi je l'ai testé sur strHomeFolder = "c:\DIFFUSION\INV" donc j'ai utilisé une fonction pour créer l’arborescence "c:\DIFFUSION\INV" avec la fonction SmartCreateFolder(strFolder) et ça marche pour moi avec ce Script
Remarque : Testé sur Windows XP SP 3
Code :
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
Dim strHomeFolder, strHome, strUser
Dim intRunError, objShell, objFSO
strHomeFolder = "c:\DIFFUSION\INV"
Set objShell = CreateObject("Wscript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
SmartCreateFolder strHomeFolder ' Creation de l'arborecence des dossiers
If objFSO.FolderExists(strHomeFolder) Then
'''''''''''''''''''''''''''''''''''''''''''''
'ATTRIBUTION DES DROITS D'ACCES  ''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''
Set Ws = CreateObject("WScript.Shell")
Set ProcessEnv = Ws.Environment("Process")
 NomMachine = ProcessEnv("COMPUTERNAME")
 NomUtilisateur = ProcessEnv("USERNAME") 
Command = "%COMSPEC% /C Echo o| cacls " & strHomeFolder & " /g " & qq(NomUtilisateur) & ":r"
intRunError = objShell.Run(Command,0,True)
   If intRunError <> 0 Then
   MsgBox "Permission du l'utilisateur : " & qq(NomUtilisateur) & " dans le dossier " & qq(strHomeFolder) & " est non fait",16,"Permission sur le dossier non fait"
   else
   MsgBox "Permission du l'utilisateur " & qq(NomUtilisateur) & " dans le dossier " & qq(strHomeFolder) & " est effecuté avec succées :(Lecture Seule)!",64,"Permission dans le dossier " & qq(strHomeFolder) & " effectuée avec succées :(Lecture Seule)!"
   End If
End If
 
Sub SmartCreateFolder(strFolder)
      Dim oFSO:Set oFSO = CreateObject("Scripting.FileSystemObject")
      If oFSO.FolderExists(strFolder) Then
          Exit Sub
      Else
          SmartCreateFolder(oFSO.GetParentFolderName(strFolder))
      End If
      oFSO.CreateFolder(strFolder)
      Set oFSO = Nothing    
  End Sub
 
Function qq(strIn)
    qq = Chr(34) & strIn & Chr(34)
End Function
__________________
[VBS] SHORTCUTREMOVER outil pour supprimer automatiquement les raccourcis infectés par un virus sur une clé USB
[VBS] Protection Dossier par Mot de Passe
Mes Contributions en Téléchargement
N'oubliez pas de voter pour les messages dont la réponse est pertinente, ayez le réflexe du +1 pour le contributeur ( C'est gratuit et ça donne l'impression d'être utile)
et si votre Problème est résolu pensez au Tag


hackoofr est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/02/2012, 16h22   #3
Membre du Club
 
Inscription : octobre 2003
Messages : 152
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 152
Points : 42
Points : 42
Par défaut re

bonjour
Merci pour ta réponse
Je teste et te tiens au courant
qmike est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 20h31   #4
Membre Expert
 
Avatar de hackoofr
 
Homme Mehdi Tounisiano
Enseignant
Inscription : juin 2009
Messages : 760
Détails du profil
Informations personnelles :
Nom : Homme Mehdi Tounisiano
Âge : 37
Localisation : Tunisie

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : juin 2009
Messages : 760
Points : 1 280
Points : 1 280

Vous pouvez tester ce script aussi :
Code :
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
Dim INV_Folder, strHome, strUser
Dim intRunError, objShell, objFSO
DIFFUSION_Folder = "c:\DIFFUSION"
INV_Folder = "c:\DIFFUSION\INV"
DRH_Folder = "c:\DIFFUSION\DRH"
Set objShell = CreateObject("Wscript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
SmartCreateFolder INV_Folder ' Creation de l'arborecence des dossiers
SmartCreateFolder DRH_Folder
If objFSO.FolderExists(INV_Folder) Then
'''''''''''''''''''''''''''''''''''''''''''''
'ATTRIBUTION DES DROITS D'ACCES  ''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''
'Permission de Lecture Seule pour l'utilisateur en cours sur le sous-dossier "c:\DIFFUSION\INV"
Set Ws = CreateObject("WScript.Shell")
Set ProcessEnv = Ws.Environment("Process")
 NomMachine = ProcessEnv("COMPUTERNAME")
 NomUtilisateur = ProcessEnv("USERNAME") 
Command = "%COMSPEC% /C Echo o| cacls " & INV_Folder & " /g " & qq(NomUtilisateur) & ":r"
intRunError = objShell.Run(Command,0,True)
   If intRunError <> 0 Then
   MsgBox "Permission du l'utilisateur " & qq(NomUtilisateur) & " dans le dossier " & qq(INV_Folder) & " est non fait",16,"Permission sur le dossier non fait"
   else
   MsgBox "Permission du l'utilisateur " & qq(NomUtilisateur) & " dans le dossier " & qq(INV_Folder) & " est effecuté avec succées :(Lecture Seule)!",64,"Permission dans le dossier " & qq(INV_Folder) & " effectuée avec succées :(Lecture Seule) !"
   End If
End If
'Permission d'accés Refusé pour l'utilisateur en cours sur le sous-dossier "c:\DIFFUSION\DRH" 
If objFSO.FolderExists(DRH_Folder) Then
Command = "%COMSPEC% /C Echo o| cacls " & DRH_Folder & " /p " & qq(NomUtilisateur) & ":n"
intRunError = objShell.Run(Command,0,True)
   If intRunError <> 0 Then
   MsgBox "Permission du l'utilisateur " & qq(NomUtilisateur) & " dans le dossier " & qq(DRH_Folder) & " est non fait",16,"Permission sur le dossier non fait"
   else
   MsgBox "Permission du l'utilisateur " & qq(NomUtilisateur) & " dans le dossier " & qq(DRH_Folder) & " est effecuté avec succées :(Lecture Seule)!",64,"Permission dans le dossier " & qq(DRH_Folder) & " effectuée avec succées : (Accées Refusé) !"
   End If
End If
'Permission de Lecture Seule pour l'utilisateur en cours sur le sous-dossier "C:\DIFFUSION" 
If objFSO.FolderExists(DIFFUSION_Folder) Then
Command = "%COMSPEC% /C Echo o| cacls " & DIFFUSION_Folder & " /g " & qq(NomUtilisateur) & ":r"
intRunError = objShell.Run(Command,0,True)
   If intRunError <> 0 Then
   MsgBox "Permission du l'utilisateur " & qq(NomUtilisateur) & " dans le dossier " & qq(DIFFUSION_Folder) & " est non fait",16,"Permission sur le dossier non fait"
   else
   MsgBox "Permission du l'utilisateur " & qq(NomUtilisateur) & " dans le dossier " & qq(DIFFUSION_Folder) & " est effecuté avec succées :(Lecture Seule)!",64,"Permission dans le dossier " & qq(DIFFUSION_Folder) & " effectuée avec succées : (Lecture Seule) !"
   End If
End If
 
Sub SmartCreateFolder(strFolder)
      Dim oFSO:Set oFSO = CreateObject("Scripting.FileSystemObject")
      If oFSO.FolderExists(strFolder) Then
          Exit Sub
      Else
          SmartCreateFolder(oFSO.GetParentFolderName(strFolder))
      End If
      oFSO.CreateFolder(strFolder)
      Set oFSO = Nothing    
  End Sub
 
Function qq(strIn)
    qq = Chr(34) & strIn & Chr(34)
End Function
__________________
[VBS] SHORTCUTREMOVER outil pour supprimer automatiquement les raccourcis infectés par un virus sur une clé USB
[VBS] Protection Dossier par Mot de Passe
Mes Contributions en Téléchargement
N'oubliez pas de voter pour les messages dont la réponse est pertinente, ayez le réflexe du +1 pour le contributeur ( C'est gratuit et ça donne l'impression d'être utile)
et si votre Problème est résolu pensez au Tag


hackoofr est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 08h57   #5
Membre du Club
 
Inscription : octobre 2003
Messages : 152
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 152
Points : 42
Points : 42
Par défaut re

Bonjour

Merci pour tes réponses et ton investissement
Cela correctement correctement
J'ai opté pour le dernier script
Je te suis trés reconnaissant
Bonne journée
qmike est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 09h51   #6
Membre Expert
 
Avatar de hackoofr
 
Homme Mehdi Tounisiano
Enseignant
Inscription : juin 2009
Messages : 760
Détails du profil
Informations personnelles :
Nom : Homme Mehdi Tounisiano
Âge : 37
Localisation : Tunisie

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : juin 2009
Messages : 760
Points : 1 280
Points : 1 280
Citation:
Envoyé par qmike Voir le message
Merci pour tes réponses et ton investissement
Cela correctement correctement
J'ai opté pour le dernier script
Je te suis trés reconnaissant
Bonne journée
Pas de Quoi et Avec un grand plaisir
Bonne Programmation
__________________
[VBS] SHORTCUTREMOVER outil pour supprimer automatiquement les raccourcis infectés par un virus sur une clé USB
[VBS] Protection Dossier par Mot de Passe
Mes Contributions en Téléchargement
N'oubliez pas de voter pour les messages dont la réponse est pertinente, ayez le réflexe du +1 pour le contributeur ( C'est gratuit et ça donne l'impression d'être utile)
et si votre Problème est résolu pensez au Tag


hackoofr est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h28.


 
 
 
 
Partenaires

Hébergement Web