我正在开发一个 .NET 类,该类将用于管理我们的 Active Directory 帐户的工具。我们的每个帐户都有一个网络主目录,该目录可以位于几个不同的服务器上,具体取决于我们使用的帐户类型。
我可以很好地创建和删除文件夹,但在共享文件夹时遇到了麻烦。我在这里找到了一些似乎是我想要的代码,但它对我来说不能正常工作。我得到的返回值为 2,但我不确定这表示什么。
这不应该是文件权限问题,因为我正在以自己的身份运行我的测试应用程序,并且我可以完全控制我要共享的文件夹(及其每个父文件夹)。
这是我的(修改后的)代码版本:
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);
我已经尝试输出其他 outParams,但看起来 ReturnValue 是我得到的全部。
是否有其他方法可以更好地共享远程文件夹?