ActiveDirectoryアカウントを管理するためのツールで使用される.NETクラスに取り組んでいます。各アカウントはネットワークホームディレクトリを取得します。このディレクトリは、使用しているアカウントの種類に応じて、いくつかの異なるサーバーに配置できます。
フォルダの作成と削除は問題なく実行できますが、フォルダの共有に問題が発生しています。ここで私が欲しいと思われるコードを見つけましたが、正しく機能していません。私が得る戻り値は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がすべて取得しているようです。
より適切に機能するリモートフォルダを共有する別の方法はありますか?