次の方法で共有


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

データの情報レベルを指定します。 このパラメーターには、次の値のいずれかを指定できます。

意味
0
ローカル グループ メンバーに関連付けられている セキュリティ識別子 (SID) を指定します。 buf パラメーターは、LOCALGROUP_MEMBERS_INFO_0構造体の配列を指します。
3
ローカル グループ メンバーのアカウント名とドメイン名を指定します。 buf パラメーターは、LOCALGROUP_MEMBERS_INFO_3構造体の配列を指します。

[in] buf

メンバー情報を含むバッファーへのポインター。 このデータの形式は 、level パラメーターの値によって異なります。 詳細については、「 ネットワーク管理機能バッファー」を参照してください。

[in] totalentries

buf パラメーターが指すバッファー内のエントリの合計数を含む値を指定します。

戻り値

関数が成功した場合、戻り値はNERR_Success。

関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。

リターン コード 説明
NERR_GroupNotFound
groupname パラメーターで指定されたグループが存在しません。
ERROR_ACCESS_DENIED
ユーザーには、要求された情報へのアクセス権がありません。
ERROR_NO_SUCH_MEMBER
1 つ以上のメンバーが存在しません。 ローカル グループのメンバーシップは変更されませんでした。
ERROR_INVALID_MEMBER
無効なアカウントの種類があるため、1 つ以上のメンバーを追加できません。 ローカル グループのメンバーシップは変更されませんでした。

注釈

Active Directory を実行しているドメイン コントローラーでこの関数を呼び出すと、 セキュリティ保護可能なオブジェクトのアクセス制御リスト (ACL) に基づいてアクセスが許可または拒否されます。 既定の ACL では、Domain Admins と Account Operators のみがこの関数を呼び出すように許可されます。 メンバー サーバーまたはワークステーションでは、管理者と Power Users のみがこの関数を呼び出すことができます。 詳細については、「 ネットワーク管理機能のセキュリティ要件」を参照してください。 ACL、ACE、およびアクセス トークンの詳細については、「Access Control モデル」を参照してください。

LocalGroup オブジェクトのセキュリティ記述子は、この関数のアクセスチェックを実行するために使用されます。

NetLocalGroupSetMembers 関数を呼び出すことで、ローカル グループ メンバーシップをメンバーのまったく新しいリストに置き換えることができます。 これを実行する一般的な一連の手順は次のとおりです。

ローカル グループ メンバーシップを置き換えるには

  1. NetLocalGroupGetMembers 関数を呼び出して、現在のメンバーシップ リストを取得します。
  2. 新しいメンバーシップを反映するように、返されるメンバーシップ リストを変更します。
  3. NetLocalGroupSetMembers 関数を呼び出して、古いメンバーシップ リストを新しいメンバーシップ リストに置き換えます。
既存のローカル グループに 1 つ以上の既存のユーザー アカウントまたはグローバル グループ アカウントを追加するには、 NetLocalGroupAddMembers 関数を呼び出します。 既存のローカル グループから 1 つ以上のメンバーを削除するには、 NetLocalGroupDelMembers 関数を 呼び出します。

ユーザー アカウント名は 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

こちらもご覧ください

LOCALGROUP_MEMBERS_INFO_0

LOCALGROUP_MEMBERS_INFO_3

ローカル グループ関数

NetLocalGroupAddMembers

NetLocalGroupDelMembers

NetLocalGroupGetMembers

ネットワーク管理機能

ネットワーク管理の概要