2010-07-07 42 views
7

Tôi cần ánh xạ ổ đĩa mạng từ bên trong ứng dụng .NET. Tôi sẽ cần phải sử dụng một tên người dùng và mật khẩu AD để xác thực. Thông thường tôi chỉ sử dụng một tập tin thực thi với lệnh net use. Làm thế nào để làm điều này từ bên trong mã C# hoặc VB.NET?Làm cách nào để ánh xạ ổ đĩa mạng yêu cầu tên người dùng và mật khẩu trong .NET?

+0

Tại sao các bạn ánh xạ một ổ đĩa? Để sao chép tệp? –

+0

@Ed B vâng, sau khi suy nghĩ về nó trong vài giây nữa, chúng tôi nhận ra rằng chúng tôi sẽ tiếp cận điều này một cách khác nhau. –

+0

Ok..khi tôi làm là chia sẻ một thư mục trên máy mục tiêu..và giả mạo để lưu tệp trên một máy khác. Tôi có thể kiểm soát quyền của người ghi vào thư mục, khi thiết lập chia sẻ. –

Trả lời

12

Bạn đã nhìn này?

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

Ngoài ra, bạn chỉ có thể sử dụng net.exe qua Process.Start() và vượt qua nó các thông số mà bạn đã luôn luôn được sử dụng ...

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

Hi, công việc tốt đẹp, nếu bạn quấn nó trong một chức năng bạn có thể đi: 'private void MapDrive (string DriveLetter, chuỗi UNCPath) { ProcessStartInfo ProcessStartInfo = new ProcessStartInfo ( "net.exe", string.Format (@ "sử dụng {0}: {1}", driveLetter) ); Quy trình xử lý = Process.Start (processStartInfo); } ' – Elken

+0

Tôi muốn ném vào đây bạn có thể đưa ra lệnh sử dụng net * mà không cần * tên ổ đĩa rồi truy cập đường dẫn qua đường dẫn UNC. Bằng cách này bạn không phải lo lắng về những gì mà người dùng có thể đã ánh xạ. –

+0

Tôi biết đây là câu trả lời cũ, nhưng 'psi' trong ngữ cảnh này là gì? –

Các vấn đề liên quan