NetLocalGroupSetMembers 関数 (lmaccess.h)
NetLocalGroupSetMembers 関数は、指定されたローカル グループのメンバーシップを設定します。 指定された各ユーザーまたはグローバル グループは、ローカル グループのメンバーになります。 指定されていないが、現在ローカル グループのメンバーであるユーザーまたはグローバル グループは、メンバーシップが取り消されます。
構文
NET_API_STATUS NET_API_FUNCTION NetLocalGroupSetMembers(
[in] LPCWSTR servername,
[in] LPCWSTR groupname,
[in] DWORD level,
[in] LPBYTE buf,
[in] DWORD totalentries
);
パラメーター
[in] servername
関数を実行するリモート サーバーの DNS または NetBIOS 名を指定する定数文字列へのポインター。 このパラメーターが NULL の場合は、ローカル コンピューターが使用されます。
[in] groupname
指定したユーザーまたはグローバル グループにメンバーシップを付与するローカル グループの名前を指定する定数文字列へのポインター。 詳細については、「解説」を参照してください。
[in] level
データの情報レベルを指定します。 このパラメーターには、次の値のいずれかを指定できます。
値 | 意味 |
---|---|
|
ローカル グループ メンバーに関連付けられている セキュリティ識別子 (SID) を指定します。 buf パラメーターは、LOCALGROUP_MEMBERS_INFO_0構造体の配列を指します。 |
|
ローカル グループ メンバーのアカウント名とドメイン名を指定します。 buf パラメーターは、LOCALGROUP_MEMBERS_INFO_3構造体の配列を指します。 |
[in] buf
メンバー情報を含むバッファーへのポインター。 このデータの形式は 、level パラメーターの値によって異なります。 詳細については、「 ネットワーク管理機能バッファー」を参照してください。
[in] totalentries
buf パラメーターが指すバッファー内のエントリの合計数を含む値を指定します。
戻り値
関数が成功した場合、戻り値はNERR_Success。
関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。
リターン コード | 説明 |
---|---|
|
groupname パラメーターで指定されたグループが存在しません。 |
|
ユーザーには、要求された情報へのアクセス権がありません。 |
|
1 つ以上のメンバーが存在しません。 ローカル グループのメンバーシップは変更されませんでした。 |
|
無効なアカウントの種類があるため、1 つ以上のメンバーを追加できません。 ローカル グループのメンバーシップは変更されませんでした。 |
注釈
Active Directory を実行しているドメイン コントローラーでこの関数を呼び出すと、 セキュリティ保護可能なオブジェクトのアクセス制御リスト (ACL) に基づいてアクセスが許可または拒否されます。 既定の ACL では、Domain Admins と Account Operators のみがこの関数を呼び出すように許可されます。 メンバー サーバーまたはワークステーションでは、管理者と Power Users のみがこの関数を呼び出すことができます。 詳細については、「 ネットワーク管理機能のセキュリティ要件」を参照してください。 ACL、ACE、およびアクセス トークンの詳細については、「Access Control モデル」を参照してください。
LocalGroup オブジェクトのセキュリティ記述子は、この関数のアクセスチェックを実行するために使用されます。
NetLocalGroupSetMembers 関数を呼び出すことで、ローカル グループ メンバーシップをメンバーのまったく新しいリストに置き換えることができます。 これを実行する一般的な一連の手順は次のとおりです。
ローカル グループ メンバーシップを置き換えるには
- NetLocalGroupGetMembers 関数を呼び出して、現在のメンバーシップ リストを取得します。
- 新しいメンバーシップを反映するように、返されるメンバーシップ リストを変更します。
- NetLocalGroupSetMembers 関数を呼び出して、古いメンバーシップ リストを新しいメンバーシップ リストに置き換えます。
ユーザー アカウント名は 20 文字に制限され、グループ名は 256 文字に制限されます。 さらに、アカウント名をピリオドで終えることはできません。また、コンマまたは印刷可能な文字を含めることはできません: "、/、、[、]、:、|、 <、 >、+、=、;、;、?、*。 また、名前には、印刷できない 1 から 31 の範囲の文字を含めることはできません。
Active Directory のプログラミングを行う場合は、特定の Active Directory サービス インターフェイス (ADSI) メソッドを呼び出して、ネットワーク管理ローカル グループ関数を呼び出すことで実現できるのと同じ機能を実現できます。 詳細については、「 IADsGroup」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | lmaccess.h (Include Lm.h) |
Library | Netapi32.lib |
[DLL] | Netapi32.dll |