Feedback

C# - Netzlaufwerke verbinden/trennen - (mit User u. Passwort)

Veröffentlicht von am 8/9/2010
(0 Bewertungen)
Usings
using System.Diagnostics;

Erklärung
Mit Hilfe dieses Snippets können Sie ganz leich Netzlaufwerke verbinden und trennen,
auch wenn diese ein Passwort zur Auth. brauchen. (z.B. FTP oder WebDAV)

Syntax
//Nur den Laufwerksbuchstaben angeben und fertig
MapNetworkDriveDisconnect("L:");

//Bei einer Verbindung die einen Username und PW braucht
MapNetworkDriveConnect("N:", "https://webdav.myserver.ms", "user", "pw");

//Bei einer nicht passwort geschützten Verbindung
MapNetworkDriveConnect("N:", "\\server\freigabe", string.Empty, string.Empty);


Alternativ kann auch diese Funktion benutzt werden:
http://msdn.microsoft.com/en-us/library/aa385413(VS.85).aspx
        /// <summary>
        /// Disconnects a network drive
        /// </summary>
        /// <param name="drive">Drive (z.B. L:)</param>
        private void MapNetworkDriveDisconnect(string drive)
        {
            Process p = new Process();
            p.StartInfo.FileName = "net";
            p.StartInfo.Arguments = string.Format("use {0} /DELETE", drive);
            p.StartInfo.UseShellExecute = false;
            p.Start();
        }
        /// <summary>
        /// Connects a network drive
        /// </summary>
        /// <param name="drive">The drive letter (e.g. L:)</param>
        /// <param name="server">The UNC path to the remote drive (e.g. \\MyServer\MyPrinter)</param>
        /// <param name="user">The User</param>
        /// <param name="password">The Password Used For Login</param>
        private void MapNetworkDriveConnect(string drive, string server, string user, string password)
        {
            Process p = new Process();
            p.StartInfo.FileName = "net";
            p.StartInfo.Arguments = string.Format("use {0} {1} /user:{2} {3}", drive, server, user, password);
            p.StartInfo.UseShellExecute = false;
            p.Start();
        }

4 Kommentare zum Snippet

TripleX87 schrieb am 8/19/2010:
ich habe mit der Win32API-Funktion WNetAddConnection2 bessere Erfahrungen gemacht, da bei der das Einbinden der Netzlaufwerke schneller vonstatten ging.
Firendeath schrieb am 10/12/2010:
Hab mal n Verweis auf die MSDN - Seite reingepackt.
;)
Firendeath schrieb am 10/12/2010:
Wobei ich diese Methode um einiges leichter finde. :P
-Rockbiest- schrieb am 7/17/2017:
Wäre es möglich diese Methode irgendwie auch zu verwenden, wenn zwischen dem Netzlaufwerk auf dem die Webanwendung installiert ist und einem Fileserver eine Firewall steht?
 

Logge dich ein, um hier zu kommentieren!