ich möchte gerne auf eine mit Samba eingerichtete Linuxfreigabe mit C# zugreifen um zu prüfen ob Dateien vorhanden sind. Momentan fehlt mir in C# leider die Möglichkeit mit DirectoryInfo Credentials für den Zugriff zu übergeben.
Auf die SMB Freigaben eines Samba greife ich via URI zu die lautet
\\rechner\freigabe\pfad\zur\datei
Zu beachten ist das man die Backslashes verwendet und auch Escaped.
Zugangsdaten übergeben ist ebenfalls sehr einfach, dazu verwendet man am besten das net Programm das mit Windows kommt:
# Quelle MSDN using System.Management;
ManagementClass processClass = new ManagementClass("Win32_Process"); object[] methodArgs = { "net use \\server\share /user:domain\username password", null, null, 0 }; object result = processClass.InvokeMethod("Create", methodArgs);
Console.WriteLine("Creation of process returned: " + result); Console.WriteLine("Process id: " + methodArgs[3]);
Damit solltest du dich eigentlich angemeldet haben. Zugangsdaten, Server und Freigabe etc. kannst du ja dynamisch aus einer Datei laden oder der Registrierung, Hardcoden ist keine gute Idee