Je travaille sur une classe .NET qui sera utilisée dans les outils pour gérer nos comptes Active Directory. Chacun de nos comptes obtient un répertoire de base de réseau, qui peut être situé sur plusieurs serveurs différents, selon le type de compte avec lequel nous travaillons.Comment partager des dossiers distants?
Je peux créer et supprimer les dossiers très bien, mais j'ai des problèmes pour partager les dossiers. I found some code here qui semble être ce que je veux, mais cela ne fonctionne pas correctement pour moi. La valeur de retour que je reçois est 2, mais je ne suis pas sûr de ce que cela indique. Cela ne devrait pas être un problème de permission de fichier, puisque j'utilise mon application de test comme moi-même, et que j'ai le contrôle total du dossier que j'essaie de partager (et de chacun de ses dossiers parents).
Voici mon (modifié) version du code:
char[] delim = { '\\' };
// folderPath is a string (UNC path)
string[] drivePath = folderPath.Split(delim);
// Create a ManagementClass object
ManagementClass managementClass = new ManagementClass("Win32_Share");
// Create ManagementBaseObjects for in and out parameters
ManagementBaseObject inParams =
managementClass.GetMethodParameters("Create");
ManagementBaseObject outParams;
// Set the input parameters
inParams["Description"] = "";
inParams["Name"] = drivePath[3];
inParams["Path"] = folderPath;
inParams["Type"] = 0x0; // Disk Drive
// Invoke the method on the ManagementClass object
outParams = managementClass.InvokeMethod("Create", inParams, null);
J'ai essayé pour sortir les autres outparams, mais il semble que ReturnValue est tout ce que je reçois.
Existe-t-il un moyen différent de partager un dossier distant qui fonctionnerait mieux?