2010-07-07 73 views
7

Necesito asignar una unidad de red desde una aplicación .NET. Voy a necesitar usar un nombre de usuario y contraseña de AD para autenticarse. Por lo general, solo uso un archivo por lotes con el comando net use. ¿Cómo hago esto desde dentro del código C# o VB.NET?¿Cómo puedo mapear una unidad de red que requiere un nombre de usuario y contraseña en .NET?

+0

¿Por qué está asignando una unidad? Para copiar archivos? –

+0

@Ed B si, después de pensarlo durante unos segundos más, nos damos cuenta de que vamos a abordar esto de manera diferente. –

+0

Ok..what lo que hago es compartir una carpeta en el objetivo machine..and hacer suplantación para guardar un archivo en otra máquina. Puedo controlar los permisos de quién escribe en la carpeta al configurar el recurso compartido. –

Respuesta

12

¿Has mirado en esto?

http://www.codeguru.com/csharp/csharp/cs_network/windowsservices/article.php/c12357

Además, es posible que utilices net.exe través Process.Start() y lo pasa los parámetros que ha utilizado siempre ...

System.Diagnostics.Process.Start("net.exe", "use K: \\Server\URI\path\here"); 
+0

Hola, buen trabajo, si lo envuelve en una función que podría ir: 'private void MapDrive (cadena LETRAUNIDAD, cadena uncpath) { ProcessStartInfo ProcessStartInfo = new ProcessStartInfo ( "net.exe", string.Format (@ "use {0}: {1}", driveLetter) ); Process process = Process.Start (processStartInfo); } ' – Elken

+0

yo quería tirar aquí donde se puede emitir el comando net use * * sin un nombre de unidad a continuación, acceda a la ruta a través de la ruta de acceso UNC. De esta forma, no tiene que preocuparse por qué unidades puede haber mapeado un usuario. –

+0

Sé que esta es una respuesta antigua, pero ¿qué es 'psi' en este contexto? –

Cuestiones relacionadas