adstam
Technical User
- Feb 28, 2001
- 25
I have build an application in VB6 (using Activeds.dll from the ADSI25 resourcekit) that use this code to copy an ACL from one directory or file to another. It works fine on local drives but seems not to work on a networkshare (share is on a domaincontroller).
What am i doing wrong?
Sub CopySecurity(Sample, Target)
Dim sec As New ADsSecurity
Dim sdSample As IADsSecurityDescriptor
Dim sdTarget As IADsSecurityDescriptor
Dim dacl As IADsAccessControlList
Dim CopyDacl As IADsAccessControlList
Set sdSample = sec.GetSecurityDescriptor("FILE://" &
Sample)
Set sdTarget = sec.GetSecurityDescriptor("FILE://" &
Target)
Set dacl = sdSample.DiscretionaryAcl
Set CopyDacl = dacl.CopyAccessList
sdTarget.DiscretionaryAcl = CopyDacl
sec.SetSecurityDescriptor sdTarget
Set sdSample = Nothing
Set sdTarget = Nothing
Set dacl = Nothing
Set CopyDacl = Nothing
End Sub
What am i doing wrong?
Sub CopySecurity(Sample, Target)
Dim sec As New ADsSecurity
Dim sdSample As IADsSecurityDescriptor
Dim sdTarget As IADsSecurityDescriptor
Dim dacl As IADsAccessControlList
Dim CopyDacl As IADsAccessControlList
Set sdSample = sec.GetSecurityDescriptor("FILE://" &
Sample)
Set sdTarget = sec.GetSecurityDescriptor("FILE://" &
Target)
Set dacl = sdSample.DiscretionaryAcl
Set CopyDacl = dacl.CopyAccessList
sdTarget.DiscretionaryAcl = CopyDacl
sec.SetSecurityDescriptor sdTarget
Set sdSample = Nothing
Set sdTarget = Nothing
Set dacl = Nothing
Set CopyDacl = Nothing
End Sub