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
データの情報レベル。 このパラメーターには、次の値のいずれかを指定できます。
値 | 意味 |
---|---|
|
buf パラメーターは、ユーザー名を指定するGROUP_USERS_INFO_0構造体の配列を指します。 |
|
buf パラメーターは、ユーザー名とグループの属性を指定するGROUP_USERS_INFO_1構造体の配列を指します。 |
[in] buf
データを含むバッファーへのポインター。 詳細については、「 ネットワーク管理関数バッファー」を参照してください。
[in] totalentries
buf パラメーターが指すバッファー内のエントリの数。
戻り値
関数が成功した場合、戻り値はNERR_Success。
関数が失敗した場合、戻り値には次のいずれかのエラー コードを指定できます。
リターン コード | 説明 |
---|---|
|
ユーザーには、要求された情報へのアクセス権がありません。 |
|
システム コール レベルが正しくありません。 level パラメーターが 0 または 1 以外の値として指定されている場合、このエラーが返されます。 |
|
渡されたパラメーターが無効です。 totalentries パラメーターが無効な場合、このエラーが返されます。 |
|
操作を完了するために使用できるメモリが不足していました。 |
|
コンピューター名が無効です。 |
|
操作は、ドメインのプライマリ ドメイン コントローラーでのみ許可されます。 |
|
グローバル グループ名が見つかりませんでした。 |
|
内部エラーが発生しました。 |
|
この操作は、特定の特殊なグループでは許可されません。 これらのグループには、ユーザー グループ、管理者グループ、ローカル グループ、ゲスト グループが含まれます。 |
|
ユーザー名が見つかりませんでした。 |
注釈
Active Directory を実行しているドメイン コントローラーでこの関数を呼び出すと、 セキュリティ保護可能なオブジェクトのアクセス制御リスト (ACL) に基づいてアクセスが許可または拒否されます。 既定の ACL では、Domain Admins と Account Operators のみがこの関数を呼び出すように許可されます。 メンバー サーバーまたはワークステーションでは、管理者と Power Users のみがこの関数を呼び出すことができます。 詳細については、「 ネットワーク管理機能のセキュリティ要件」を参照してください。 ACL、ACE、アクセス トークンの詳細については、「Access Control モデル」を参照してください。
Group オブジェクトのセキュリティ記述子は、この関数のアクセスチェックを実行するために使用されます。
NetGroupSetUsers 関数を呼び出すことで、グローバル グループ メンバーシップをメンバーのまったく新しいリストに置き換えることができます。 これを実行する一般的な一連の手順を次に示します。
グローバル グループ メンバーシップを置き換えるには
- NetGroupGetUsers 関数を呼び出して、現在のメンバーシップ リストを取得します。
- 返されたメンバーシップ リストを変更して、新しいメンバーシップを反映させます。
- NetGroupSetUsers 関数を呼び出して、古いメンバーシップ リストを新しいメンバーシップ リストに置き換えます。
ユーザー アカウント名は 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 |