Déplacer droits NTFS entre dossiers [Résolu]

Nevda 15 Messages postés lundi 13 juin 2016Date d'inscription 5 juillet 2016 Dernière intervention - 30 juin 2016 à 12:23 - Dernière réponse : Nevda 15 Messages postés lundi 13 juin 2016Date d'inscription 5 juillet 2016 Dernière intervention
- 1 juil. 2016 à 09:25
Bonjour,

Je cherche à déplacer les droits NTFS d'un dossier (parents et sous-répertoires) vers un autre. Je me dirige vers *Accesscontrol sans vraiment savoir... J'ai recherché sur le net les différentes méthodes mais c'est un peu flou dans mon esprit. Pouvez-vous me venir en aide et m'indiquer vers quoi me diriger? Merci.
Imports System
Imports System.Security.AccessControl
Imports System.IO, System.Windows
Imports Microsoft.Win32.Security
Public Class Form1
    Function NTFS(dossiersource As String)
        Dim acl As System.Security.AccessControl.DirectorySecurity = IO.Directory.GetAccessControl("C:\Users\win8\Desktop\ACL1")
        IO.Directory.SetAccessControl(dossiersource, acl)
    End Function


    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        NTFS("C:\Users\win8\Desktop\ACL")
    End Sub

End Class
Afficher la suite 

Votre réponse

6 réponses

Nevda 15 Messages postés lundi 13 juin 2016Date d'inscription 5 juillet 2016 Dernière intervention - Modifié par Nevda le 30/06/2016 à 14:16
0
Merci
Que dites vous d'utiliser xcacls.vbs?
vb95 1667 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 22 septembre 2018 Dernière intervention - 30 juin 2016 à 15:11
Bonjour
Quelques infos
J'ai modifié le titre pour le rendre plus précis
D'après les infos sur Google xcacls.vbs est pour Windows.Xp
il faut utiliser icacls pour les versions supérieures mais celui-ci contient certains bugs d'après certains sites.
De plus les droits d'un dossier en NTFS sont réservés à ce dossier et pas à un autre . On peut modifier les droits d'un dossier en étant administrateur sur sa machine mais quels intérêts de donner au dossier A les mêmes droits que ceux du dossier B ? C'est louche !!!!
On peut savoir le but de cette manœuvre ?
Nevda 15 Messages postés lundi 13 juin 2016Date d'inscription 5 juillet 2016 Dernière intervention - 30 juin 2016 à 15:20
Bonjour,

Alors... Je suis en stage dans une entreprise et je suis chargé de changer toute l'organisation des fichiers avec une nouvelle arborescence sur le serveur. J'ai donc recréé tous les dossiers de commande déjà existants avec la nouvelle arborescence. Pour créer les sous répertoires (ex : Bons de commande ou encore Bons de livraison etc...) avec des droits qui nous convenaient, j'ai donc choisi de créer au préalable un "dossier type" dans lequel toutes les autorisations étaient bien définies (initialement). J'ai donc fait un xcopy récursif sur tous les dossiers de commande afin de remplir chacun de ces dossiers avec la nouvelle arborescence et les droits qui y étaient attachés (xcopy conserve les autorisations).
 Function deplacerntfs(dossiersource As String) As String
        Dim myProcess As New Process
        myProcess.StartInfo.FileName = "cmd.exe"
        myProcess.StartInfo.Arguments = "/c  xcopy \\SERVEUR\Prag2005\00000X " & dossiersource & " /e /o /t"
        myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
        myProcess.Start()
End Function


Or, il se peut fortement que l'on veuille changer les droits pour certains utilisateurs. Evidemment, on ne fera pas cela à la main, je cherche donc à faire une application qui puisse changer les droits de tous les dossiers présents.
En outre, si un nouvel utilisateur venait à être créé, comment pourrait on appliquer les nouvelles autorisations à tous les dossiers?
Merci.
Nevda 15 Messages postés lundi 13 juin 2016Date d'inscription 5 juillet 2016 Dernière intervention - 30 juin 2016 à 17:10
J'ai finalement réussi avec icacls, /save et /restore m'auront bien aidées.
vb95 1667 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 22 septembre 2018 Dernière intervention > Nevda 15 Messages postés lundi 13 juin 2016Date d'inscription 5 juillet 2016 Dernière intervention - 30 juin 2016 à 18:23
bonsoir
Content de t'avoir envoyé sur une bonne piste ( rien qu'en regardant sur Google pour xcacls.vbs )
Maintenant pour
En outre, si un nouvel utilisateur venait à être créé, comment pourrait on appliquer les nouvelles autorisations à tous les dossiers? 
c'est un autre problème .
Sur ce site nous aidons sur des difficultés de code bien précisées et isolées et non sur un problème général ( quoique parfois on peut déroger à la règle si cela se justifie)
De toute façon c'est l'administrateur de la base de données qui donne les autorisations nécessaires et cela doit déjà exister au sein de ton entreprise . Ce n'est pas un simple déplacement de fichiers qui va changer cela !
si tu juges que cette question est résolue penses à le mettre en haut du post en cliquant sur "Marquer comme résolu"
Mes connaissances sont insuffisantes pour t'aiguiller vers une autre voie

A une prochaine sur le site
Nevda 15 Messages postés lundi 13 juin 2016Date d'inscription 5 juillet 2016 Dernière intervention - 1 juil. 2016 à 09:25
Lorsqu'un nouvel utilisateur sera créé, il suffira simplement de modifier le dossier type et de réaffecter tous ses droits à tous les dossiers avec une boucle for each. Correct?
Commenter la réponse de Nevda

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.