Déplacer droits NTFS entre dossiers

Résolu
Nevda Messages postés 15 Date d'inscription lundi 13 juin 2016 Statut Membre Dernière intervention 5 juillet 2016 - 30 juin 2016 à 12:23
Nevda Messages postés 15 Date d'inscription lundi 13 juin 2016 Statut Membre Dernière intervention 5 juillet 2016 - 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

1 réponse

Nevda Messages postés 15 Date d'inscription lundi 13 juin 2016 Statut Membre Dernière intervention 5 juillet 2016
Modifié par Nevda le 30/06/2016 à 14:16
Que dites vous d'utiliser xcacls.vbs?
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
Modifié par vb95 le 30/06/2016 à 15:13
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 ?
0
Nevda Messages postés 15 Date d'inscription lundi 13 juin 2016 Statut Membre Dernière intervention 5 juillet 2016
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.
0
Nevda Messages postés 15 Date d'inscription lundi 13 juin 2016 Statut Membre Dernière intervention 5 juillet 2016
Modifié par Nevda le 30/06/2016 à 17:11
J'ai finalement réussi avec icacls, /save et /restore m'auront bien aidées.
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169 > Nevda Messages postés 15 Date d'inscription lundi 13 juin 2016 Statut Membre Dernière intervention 5 juillet 2016
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
0
Nevda Messages postés 15 Date d'inscription lundi 13 juin 2016 Statut Membre Dernière intervention 5 juillet 2016
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?
0
Rejoignez-nous