Changer les droits des fichiers ?

Résolu
le1scorpion1noir Messages postés 162 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 26 août 2014 - 6 janv. 2012 à 17:00
le1scorpion1noir Messages postés 162 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 26 août 2014 - 6 janv. 2012 à 21:40
salut a tous

je voulais savoir comment je peux modifier les droits d'un fichier a laide de Visual basic pour qu'on peux pas modifier ce fichier que si on posséde les droits d'administration et le cas contraire .
merci

7 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 janv. 2012 à 17:16
Bonjour,
Discussion à lire, parmi plusieurs sur ce forum


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
3
le1scorpion1noir Messages postés 162 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 26 août 2014
6 janv. 2012 à 17:29
merci bcp pour ta réponse très rapide j'ai oublier d’ajouter que l'application doit fonctionner sur Windows Seven
mai ce que tu ma donner sa a l'air très intéressant
je vais faire des tests et je reviens
0
le1scorpion1noir Messages postés 162 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 26 août 2014
6 janv. 2012 à 17:49
il ya des erreurs sur cette fonction comment la convertir en vb6
'Changement permision sur le fichier a recuperer

Dim objLocator: Set objLocator = CreateObject("wbemscripting.swbemlocator")

Dim objServices: Set objServices = objLocator.ConnectServer("")
objServices.security_.privileges.AddAsString ("SeSecurityPrivilege")

Dim StrRepPath = "d:\test"
Dim StrNomFichier = "test.txt"
Dim FilePath: FilePath = StrRepPath & StrNomFichier

Dim objSecDescriptor: Set objSecDescriptor = GetObject("Winmgmts:{impersonationlevel=impersonate}!root/cimv2:Win32_SecurityDescriptor").Spawninstance_()

objSecDescriptor.ControlFlags = 32772

''allow everyone
Dim ACE1: Set ACE1 = SetACE(1245631, 3, 0, SetTrustee(vbNull, "Everyone", Array(1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0)))

''allow admin full access
Dim ACE2: Set ACE2 = SetACE(2032127, 3, 0, SetTrustee(vbNull, "Administrators", Array(1, 2, 0, 0, 0, 0, 0, 5, 32, 0, 0, 0, 32, 2, 0, 0)))

objSecDescriptor.DACL = Array(ACE1, ACE2)

Dim obj: Set obj = objServices.Get("CIM_DataFile='" & FilePath & "'")

Dim objClass: Set objClass = objServices.Get("CIM_DataFile")
Dim objInParam: Set objInParam = obj.Methods_("ChangeSecurityPermissions").inParameters.Spawninstance_()

objInParam.Option = 4 ''DACL
objInParam.SecurityDescriptor = objSecDescriptor

Dim objOutParams: Set objOutParams = obj.ExecMethod_("ChangeSecurityPermissions", objInParam)

Function SetTrustee(strDomain, strName, SID)
     Dim objTrustee: Set objTrustee = GetObject("Winmgmts:{impersonationlevel=impersonate}!root/cimv2:Win32_Trustee").Spawninstance_
     objTrustee.Domain = strDomain
     objTrustee.Name = strName
     objTrustee.SID = SID
     Set SetTrustee = objTrustee
End Function

Function SetACE(AccessMask, AceFlags, AceType, objTrustee)
  Dim objACE: Set objACE = GetObject("Winmgmts:{impersonationlevel=impersonate}!root/cimv2:Win32_Ace").Spawninstance_
  objACE.AccessMask = AccessMask
  objACE.AceFlags = AceFlags
  objACE.AceType = AceType
  objACE.Trustee = objTrustee
  Set SetACE = objACE
End Function
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 janv. 2012 à 19:21
Il te faut commencer par lire :
http://msdn.microsoft.com/en-us/library/windows/desktop/aa393720%28v=vs.85%29.aspx

ainsi que les rubriques associées.

WMI te sera nécessaire (références à cocher si sur ta machine).
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
le1scorpion1noir Messages postés 162 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 26 août 2014
6 janv. 2012 à 20:18
je croi que tu té trompé de réponse
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 janv. 2012 à 20:37
Je ne le crois pas, non !
Mais si toi, tu le crois, n'en parlons donc plus

PS : et au fait : lorsque l'on écrit :
il ya des erreurs sur cette fonction comment la convertir en vb6

1) quelle "fonction" ? (il y en a deux dans ton bout de code).
2) on dit sur quelle ligne !
Bonne chance.
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
le1scorpion1noir Messages postés 162 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 26 août 2014
6 janv. 2012 à 21:40
mon code je croi que c'est ce que je cherche mai sa veux pas fonctionner
0
Rejoignez-nous