Take the 2-minute tour ×

I'm using a simple DirectoryInfo to grab all directories on the root on the C drive. However, I'm running under administrator and i'm getting the error of path access denied, below is the code that I am running. How do I resolve the issue of path access?

DirectoryInfo Dinfo = new DirectoryInfo(@"C:\");
DirectoryInfo[] directories = Dinfo.GetDirectories("*.*", SearchOption.AllDirectories);
share|improve this question
You are running as administrator, but is your process elevated? –  K-ballo Jun 9 '12 at 19:26
My guess is no and i'm not sure how to do that –  Mike Jun 9 '12 at 19:27
@Damith Having no answer or a way around is not reasonable, I should be able to as an administrator be able to see all documents and folders under a users path –  Mike Jun 9 '12 at 19:47
Do what you do in the explorer when you are denied access to a folder. Take recursive ownership of all folders and then try –  Sandeep Singh Rawat Jun 9 '12 at 20:48
add comment

3 Answers

On newer versions of Windows C:\Document and Settings is a junction point, kind of a file system shortcut. It is not a normal directory, which means that it doesn't really work as a normal directory.

If you type in C:\Document and Settings in the start->run box you will also get an access denied error, so it is nothing specific to your program.

I'm a bit confused by how this works however. I thought that the junction point would be a transparent link to the new location which is c:\users but obviously not.


After looking at the duplicate question I'm less confused. The junction point really links to the new location which is c:\users. However, there is an explicit deny acl for reading on the junction point to prevent anyone from using it to read things:

C:>cacls "Documents and Settings" C:\Documents and Settings Everyone:(DENY)(special access:)


                      NT AUTHORITY\SYSTEM:F


share|improve this answer
As I do understand you're point, should I not be able to see all the user folders underneath of Docs and settings? –  Mike Jun 9 '12 at 19:28
See my update, and the duplicate question. There is an explicit deny acl on the junction point which prevents reading. –  Anders Abel Jun 9 '12 at 19:46
So how do I know what all users and user folders programmatically? –  Mike Jun 9 '12 at 19:50
Look in `c:\users`, which is the correct location in Win 7. –  Anders Abel Jun 9 '12 at 19:51
Anders - C:\users\All Users\Application Data\ access denied –  Mike Jun 9 '12 at 20:03
show 1 more comment

C:\Document and Settings is a junction point and additionnally You cannot access the System Volume Information directory.which is placed on C:\ root you have to trap any security exceptions and skip it to work your code.

share|improve this answer
how do you do a try catch on the above code WITHOUT breaking its iteration? –  Mike Jun 9 '12 at 19:33
How does the System Volume Information directory relate to this? The question is about Documents and Settings being inaccessible. –  Anders Abel Jun 9 '12 at 19:44
add comment

If you are running as Administrator you might still run into

  • UAC being active. Fix by using "run as..."
  • Folders that you can only access when you explicitly take ownership.
share|improve this answer
add comment

Your Answer


