NetGroupSetUsers 関数 (lmaccess.h)

NetGroupSetUsers 関数は、指定したグローバル グループのメンバーシップを設定します。 指定した各ユーザーは、グローバル グループのメンバーとして登録されます。 指定しないが、現在グローバル グループのメンバーであるユーザーは、メンバーシップを取り消します。

構文

NET_API_STATUS NET_API_FUNCTION NetGroupSetUsers(
  [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
buf パラメーターは、ユーザー名を指定するGROUP_USERS_INFO_0構造体の配列を指します。
1
buf パラメーターは、ユーザー名とグループの属性を指定するGROUP_USERS_INFO_1構造体の配列を指します。

[in] buf

データを含むバッファーへのポインター。 詳細については、「 ネットワーク管理関数バッファー」を参照してください。

[in] totalentries

buf パラメーターが指すバッファー内のエントリの数。

戻り値

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

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

リターン コード 説明
ERROR_ACCESS_DENIED
ユーザーには、要求された情報へのアクセス権がありません。
ERROR_INVALID_LEVEL
システム コール レベルが正しくありません。 level パラメーターが 0 または 1 以外の値として指定されている場合、このエラーが返されます。
ERROR_INVALID_PARAMETER
渡されたパラメーターが無効です。 totalentries パラメーターが無効な場合、このエラーが返されます。
ERROR_NOT_ENOUGH_MEMORY
操作を完了するために使用できるメモリが不足していました。
NERR_InvalidComputer
コンピューター名が無効です。
NERR_NotPrimary
操作は、ドメインのプライマリ ドメイン コントローラーでのみ許可されます。
NERR_GroupNotFound
グローバル グループ名が見つかりませんでした。
NERR_InternalError
内部エラーが発生しました。
NERR_SpeGroupOp
この操作は、特定の特殊なグループでは許可されません。 これらのグループには、ユーザー グループ、管理者グループ、ローカル グループ、ゲスト グループが含まれます。
NERR_UserNotFound
ユーザー名が見つかりませんでした。

注釈

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

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

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

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

  1. NetGroupGetUsers 関数を呼び出して、現在のメンバーシップ リストを取得します。
  2. 返されたメンバーシップ リストを変更して、新しいメンバーシップを反映させます。
  3. NetGroupSetUsers 関数を呼び出して、古いメンバーシップ リストを新しいメンバーシップ リストに置き換えます。
既存のグローバル グループに 1 つのユーザー メンバーシップを付与するには、 NetGroupAddUser 関数を呼び出します。 グローバル グループからユーザーを削除するには、 NetGroupDelUser 関数を呼び出します。

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

こちらもご覧ください

GROUP_USERS_INFO_0

GROUP_USERS_INFO_1

グループ関数

NetGroupAddUser

NetGroupDelUser

NetGroupGetUsers

NetUserGetGroups

NetUserSetGroups

ネットワーク管理機能

ネットワーク管理の概要