setting Username&password while using DirectoryInfo()

S

siddharth_jain_1

Hello

I am trying to get a list of shared files and subdirectories in a
particular folder on a server.
For this I am using DirectoryInfo in the following way.

DirectoryInfo folder = new
DirectoryInfo("\\\\server_name\\shared_folder_name");

FileInfo[] fiArr = folder.GetFiles();
DirectoryInfo[] diArr = folder.GetDirectories();

foreach (FileInfo fri in fiArr)
Console.WriteLine(fri.Name);
foreach (DirectoryInfo di in diArr)
Console.WriteLine(di.Name);

Now, this works fine when the server doesnt have a password set on the
guest account.
In other cases, it gives the following runtime exception:

Unhandled Exception: System.IO.IOException: Logon failure: unknown user
name or bad password.

at System.IO.__Error.WinIOError(Int32 errorCode, String str)
at System.IO.Directory.InternalGetFileDirectoryNames(..blah blah blah)

If I know the password to access the shares of the server, how do I set
them in my program?
I would be grateful to anyone who could guide me towards solving this
problem.

Thanks
 
W

Willy Denoyette [MVP]

You have to:
1. create a new logon session (calling Win32 API LogonUser ) and
2. impersonate using the token obtained by 1.

Another (better) option is to create a network session from the command
line or from a logon script.
check the 'net use ' command

net use \\server\share passwd /user:machine\someuser

Willy.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top