Win32_Share クラスの Create メソッド
WMI クラスの作成メソッドは、サーバー リソースの共有を開始します。
このトピックでは、マネージド オブジェクト形式 (MOF) 構文を使用します。 このメソッドの使用方法の詳細については、「メソッドの 呼び出し」を参照してください。
構文
uint32 Create(
[in] string Path,
[in] string Name,
[in] uint32 Type,
[in, optional] uint32 MaximumAllowed,
[in, optional] string Description,
[in, optional] string Password,
[in, optional] Win32_SecurityDescriptor Access
);
パラメーター
-
Path [in]
-
Windows 共有のローカル パス。
例: "C:\Program Files"。
-
Name [in]
-
Windows を実行しているコンピューター システムで共有として設定されたパスにエイリアスを渡します。
たとえば、"public" です。
-
「in」と入力します
-
共有するリソースの種類を渡します。 種類には、ディスク ドライブ、印刷キュー、プロセス間通信 (IPC)、および一般的なデバイスが含まれます。 次のいずれかの値を指定できます。
-
ディスク ドライブ (0)
-
印刷キュー (1)
-
デバイス (2)
-
IPC (3)
-
ディスク ドライブの管理 (2147483648)
-
印刷キュー 管理 (2147483649)
-
デバイス 管理 (2147483650)
-
IPC 管理 (2147483651)
MaximumAllowed [in, optional]
このリソースを同時に使用できるユーザーの最大数に制限します。
例: 10。 このパラメーターは省略可能です。
説明 [in, optional]
共有されているリソースを説明するオプションのコメント。 このパラメーターは省略可能です。
Password [in, optional]
共有リソースのパスワード (サーバーが共有レベルのセキュリティで実行されている場合)。 サーバーがユーザー レベルのセキュリティで実行されている場合、このパラメーターは無視されます。 このパラメーターは省略可能です。
Access [in, optional]
ユーザー レベルのアクセス許可のセキュリティ記述子。 セキュリティ記述子には、リソースのアクセス許可、所有者、およびアクセス機能に関する情報が含まれています。 このパラメーターが指定されていない場合、または NULL の場合、Everyone は共有への読み取りアクセス権を持ちます。 詳細については、「セキュリティ保護可能なオブジェクトのWin32_SecurityDescriptorとアクセス セキュリティの変更」を参照してください。
戻り値
次の一覧に記載されている値の 1 つ、またはエラーを示すその他の値を返します。 その他のエラー コードについては、「 WMI エラー定数」 または 「WbemErrorEnum」を参照してください。 一般的な HRESULT 値については、「 システム エラー コード」を参照してください。
-
成功 (0)
-
アクセスが拒否されました (2)
-
不明なエラー (8)
-
無効な名前 (9)
-
無効なレベル (10)
-
パラメーターが無効です (21)
-
重複する共有 (22)
-
リダイレクトされたパス (23)
-
不明なデバイスまたはディレクトリ (24)
-
ネット名が見つかりません (25)
-
その他 (26 4294967295)
注釈
Create は静的メソッドです。
Create を正常 に実行できるのは、Administrators または Account Operators ローカル グループのメンバー、または Communication、Print、または Server オペレーター グループ メンバーシップを持つメンバーのみです。 Print オペレーターは、プリンター キューのみを追加できます。 Communication オペレーターは、通信デバイス キューのみを追加できます。
例
ファイル共有のエクスポートとインポートの PowerShell サンプルでは、ファイル共有のエクスポートとインポートを行い、共有のアクセス許可を設定します。 同様に、 共有の作成とアクセス許可の設定 のサンプルでも、新しい共有が作成され、共有のアクセス許可が設定されます。
次の PowerShell コードは、共有を作成します。
# create pointer to class
$comp=[WMICLASS]"Win32_share"
# create a new share
$comp.create("c:\","mynewshare",0)
# see results
gwmi win32_share
前のコード サンプルでは、次が返されます。
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 2
PSComputerName :
Name : ADMIN$
Path : C:\Windows
Description : Remote Admin
Name : C$
Path : C:\
Description : Default share
Name : CCMLOGS$
Path : C:\Windows\CCM\Logs
Description : Public Share
Name : ccmsetup$
Path : C:\Windows\ccmsetup
Description : Public Share
Name : Drop
Path : C:\Drop
Description :
Name : IPC$
Path :
Description : Remote IPC
Name : Share
Path : C:\Share
Description :
次の C# コード サンプルでは、create メソッドを呼び出す方法について説明します。
private static void makeShare(string servername, string filepath, string sharename)
{
try
{
// assemble the string so the scope represents the remote server
string scope = string.Format("\\\\{0}\\root\\cimv2", servername);
// connect to WMI on the remote server
ManagementScope ms = new ManagementScope(scope);
// create a new instance of the Win32_Share WMI object
ManagementClass cls = new ManagementClass("Win32_Share");
// set the scope of the new instance to that created above
cls.Scope = ms;
// assemble the arguments to be passed to the Create method
object[] methodargs = { filepath, sharename, "0" };
// invoke the Create method to create the share
object result = cls.InvokeMethod("Create", methodargs);
}
catch (SystemException e)
{
Console.WriteLine("Error attempting to create share {0}:", sharename);
Console.WriteLine(e.Message);
}
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista |
サポートされている最小のサーバー |
Windows Server 2008 |
名前空間 |
Root\CIMV2 |
MOF |
|
[DLL] |
|