NetLocalGroupAdd 関数 (lmaccess.h)

NetLocalGroupAdd 関数は、セキュリティ データベース (セキュリティ アカウント マネージャー (SAM) データベース、またはドメイン コントローラーの場合は Active Directory) にローカル グループを作成します。

構文

NET_API_STATUS NET_API_FUNCTION NetLocalGroupAdd(
  [in]  LPCWSTR servername,
  [in]  DWORD   level,
  [in]  LPBYTE  buf,
  [out] LPDWORD parm_err
);

パラメーター

[in] servername

関数を実行するリモート サーバーの DNS または NetBIOS 名を指定する文字列へのポインター。 このパラメーターが NULL の場合は、ローカル コンピューターが使用されます。

[in] level

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

説明
0
ローカル グループ名。 buf パラメーターは、LOCALGROUP_INFO_0構造体を指します。
1
グループに関連付けるローカル グループ名とコメント。 buf パラメーターは、LOCALGROUP_INFO_1構造体を指します。

[in] buf

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

[out] parm_err

ERROR_INVALID_PARAMETER エラーの原因となるローカル グループ情報構造体の最初のメンバーのインデックスを受け取る値へのポインター。 このパラメーターが NULL の場合、エラー時にインデックスは返されません。 詳細については、 NetLocalGroupSetInfo トピックの「解説」セクションを参照してください。

戻り値

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

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

リターン コード 説明
ERROR_ACCESS_DENIED
呼び出し元には、操作を完了するための適切なアクセス権がありません。
ERROR_ALIAS_EXISTS
指定されたローカル グループは既に存在します。 このエラーは、 buf パラメーターが指す構造体のグループ名メンバーが既に別名として使用されている場合に返されます。
ERROR_INVALID_LEVEL
レベル パラメーターが無効です。
ERROR_INVALID_PARAMETER
パラメーターが正しくありません。 このエラーは、 buf パラメーターが指す構造体内の 1 つ以上のメンバーが無効な場合に返されます。
NERR_GroupExists
グループ名が存在します。 このエラーは、 buf パラメーターが指す構造体のグループ名メンバーが既にグループ名として使用されている場合に返されます。
NERR_InvalidComputer
コンピューター名が無効です。
NERR_NotPrimary
操作は、ドメインのプライマリ ドメイン コントローラーでのみ許可されます。
NERR_UserExists
ユーザー名が存在します。 このエラーは、 buf パラメーターが指す構造体のグループ名メンバーが既にユーザー名として使用されている場合に返されます。

解説

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

ユーザー コンテナーのセキュリティ記述子は、この関数のアクセスチェックを実行するために使用されます。 呼び出し元は、グループ クラスの子オブジェクトを作成できる必要があります。

ユーザー アカウント名は 20 文字に制限され、グループ名は 256 文字に制限されます。 さらに、アカウント名をピリオドで終えることはできません。また、コンマまたは"、/、、[、]、:、|<>、+、=、;、?、*のいずれかの印刷可能な文字を含めることはできません。 名前には、印刷できない 1 から 31 の範囲の文字を含めることもできます。

NetLocalGroupAdd 関数がERROR_INVALID_PARAMETERを返し、null ポインターがパラメーター parm_err渡されなかった場合、parm_err パラメーターは無効なローカル グループ情報構造体の最初のメンバーを示します。 ローカル グループ情報構造の形式は、 level パラメーターで指定します。 buf パラメーターには、ローカル グループ情報構造体へのポインターが渡されます。 次の表に、 parm_err パラメーターで返すことができる値と、エラーが発生している対応する構造体メンバーを示します。

メンバー
LOCALGROUP_NAME_PARMNUM level パラメーターが 0 の場合、LOCALGROUP_INFO_0構造体のlgrpi0_name メンバーは無効です。

level パラメーターが 1 の場合、LOCALGROUP_INFO_1構造体のlgrpi1_name メンバーは無効です。

LOCALGROUP_COMMENT_PARMNUM level パラメーターが 1 の場合、LOCALGROUP_INFO_1構造体のlgrpi1_comment メンバーは無効でした。
 

ドメイン コントローラーと 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_INFO_0

LOCALGROUP_INFO_1

ローカル グループ関数

NetLocalGroupAddMembers

NetLocalGroupDel

NetLocalGroupSetInfo

ネットワーク管理機能

ネットワーク管理の概要

ネットワーク管理機能バッファー