Solved

How to set/change folder permission in VB .NET 3.5

Posted on 2008-06-24
4
4,193 Views
Last Modified: 2013-11-26
Hi,

I am trying to change a folder (and all its sub folders and files) permission in Visual studio 2008 and VB .Net 3.5. Also I can not use windows AD as it is not implemented.

What is the best way to do this?

I have looked around and there is some information about setting file/folder permissions s but its all older stuff and I hear there is new way to do this in VS 2008. But I can not find it.

What I want to do it change a folder (and all files and sub files) permission to full access do stuff and then change it to read only and execute.

I am doing this using Visual Basic and .NET 3.5.

Thanks


0
Comment
Question by:soousky
4 Comments
 
LVL 11

Accepted Solution

by:
melmers earned 125 total points
ID: 21872083
Hi,

you can do this with .NET 2.0 functions.
Here an example to set the folder Permissions

I hope this helps

 
 'Needed imports

 Imports System.Security.AccessControl

 Imports System.IO
 

 'Code snippet

 Dim CurrentPath as String = "C:\TestPath"

 Dim UserName as String = "DOMAIN\MyUser" 
 

 Dim dInfo As New DirectoryInfo(CurrentPath)

 Dim dSecInfo As DirectorySecurity = dInfo.GetAccessControl(AccessControlSections.Access)

 Dim myRuleValue As Integer = 0

 

 myRuleValue =  FileSystemRights.FullControl   'Add your wanted Access here

 Dim myRule as FileSystemAccessRule

 myRule = New FileSystemAccessRule(UserName myRuleValue, InheritanceFlags.ContainerInherit Or InheritanceFlags.ObjectInherit Or InheritanceFlags.None, PropagationFlags.None, AccessControlType.Allow)

 dSecInfo.AddAccessRule(myRule)

 dSecInfo.SetAccessRule(myRule)

 dInfo.SetAccessControl(dSecInfo)

Open in new window

0
 

Author Closing Comment

by:soousky
ID: 31470411
Thanks
0
 
LVL 3

Expert Comment

by:IUFITS
ID: 23983074
Good code, just one comment, this line needs to have a comma after UserName:
myRule = New FileSystemAccessRule(UserName myRuleValue, InheritanceFlags.ContainerInherit Or InheritanceFlags.ObjectInherit Or InheritanceFlags.None, PropagationFlags.None, AccessControlType.Allow)
dSecInfo.AddAccessRule(myRule)
dSecInfo.SetAccessRule(myRule)
dInfo.SetAccessControl(dSecInfo)
Open in New Window Select All
0
 

Expert Comment

by:coolneip
ID: 35436335
This worked great!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
Internet Business Fax to Email Made Easy - With  eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, f…
Both in life and business – not all partnerships are created equal. As the demand for cloud services increases, so do the number of self-proclaimed cloud partners. Asking the right questions up front in the partnership, will enable both parties …

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now