Feedback

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

Veröffentlicht von am 09.08.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
Snippet in VB übersetzen
        /// <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 19.08.2010:
ich habe mit der Win32API-Funktion WNetAddConnection2 bessere Erfahrungen gemacht, da bei der das Einbinden der Netzlaufwerke schneller vonstatten ging.
Firendeath schrieb am 12.10.2010:
Hab mal n Verweis auf die MSDN - Seite reingepackt.
;)
Firendeath schrieb am 12.10.2010:
Wobei ich diese Methode um einiges leichter finde. :P
-Rockbiest- schrieb am 17.07.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!