Solved

How to programmatically create shared folder and assign permission using .Net C# ?

Posted on 2012-03-23
9
2,734 Views
Last Modified: 2012-04-15
How to programmatically create shared folder and assign permission using .Net C# ?

Please provide sample code.
0
Comment
Question by:sepknow
  • 4
  • 4
9 Comments
 
LVL 96

Accepted Solution

by:
Bob Learned earned 400 total points
ID: 37760843
I would use WMI to create a share with the Win32_Share class:

Create method of the Win32_Share Class
http://msdn.microsoft.com/en-us/library/windows/desktop/aa389393(v=vs.85).aspx

Assigning permission is another thing.  I would have to research that one.
0
 
LVL 11

Assisted Solution

by:Mihai Stancescu
Mihai Stancescu earned 100 total points
ID: 37764461
For sharing you can use WMI as TheLearnedOne said:
WMI share example or you can use pinovke PInvoke share.

To apply permissions: Folder permissions.
To set sharing permissions you can use WMI again: WMI Share permissions.

Regards,
Mishu
0
 

Author Comment

by:sepknow
ID: 37774661
I am not familiar with unmanaged code.
I am not able to compile this statement :

using ActiveDs;

May I know which reference should be added?
0
Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

 
LVL 96

Expert Comment

by:Bob Learned
ID: 37774788
WMI is managed code that is in the System.Management namespace.  You need to add a reference to your project to the System.Management.dll, since it is not added by default.
0
 

Author Comment

by:sepknow
ID: 37777199
I think I am close to what I need. Just this one piece missing.

This statement gave everybody full control:
shInfo.shi502_security_descriptor = IntPtr.Zero;

How to set this structure such that the "Administrator" has Read/Write and the rest has only Read access?
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 37805864
I am not sure what you are working with there.  Can you expound on that idea, please?
0
 

Author Comment

by:sepknow
ID: 37810499
Hi,

Thanks.

I have 3 local user accounts in my computer.
1 built-in administrator and two other under the Users group.

What I need is to be able to (1) create a shared folder and for this newly created shared folder, (2a) assign the read and write permission to the administrator, (2b) assign read access to two other user account, finally (3) remove the Everyone full control permission (cause when the shared folder was created, Everyone full control permission was assigned automatically).
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 37810820
Can you provide more detail about this concept?

shInfo.shi502_security_descriptor = IntPtr.Zero;

What type of structure is that?  Is that WMI?  I don't recognize the names...
0
 

Author Comment

by:sepknow
ID: 37849368
Sorry for late reply.
I have found an alternate solution.
Thank you for your effort.
0

Featured Post

Guide to Performance: Optimization & Monitoring

Nowadays, monitoring is a mixture of tools, systems, and codes—making it a very complex process. And with this complexity, comes variables for failure. Get DZone’s new Guide to Performance to learn how to proactively find these variables and solve them before a disruption occurs.

Question has a verified solution.

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

Learn how to PXE Boot both BIOS & UEFI machines with DHCP Policies and Custom Vendor Classes
A project that enables an administrator to perform actions within a user session context not just at the time of login but any time later on day(s) or week(s) later.
The viewer will learn how to successfully create a multiboot device using the SARDU utility on Windows 7. Start the SARDU utility: Change the image directory to wherever you store your ISOs, this will prevent you from having 2 copies of an ISO wit…
The Task Scheduler is a powerful tool that is built into Windows. It allows you to schedule tasks (actions) on a recurring basis, such as hourly, daily, weekly, monthly, at log on, at startup, on idle, etc. This video Micro Tutorial is a brief intro…

730 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