Prev Next

NetUserAdd info  Overview  Group

The NetUserAdd function adds a user account and assigns a password and privilege level.

Security Requirements

Only members of the Administrators or Account Operators local group can successfully execute NetUserAdd. Only members of the Administrators local group can add an Administrators privilege account.

NET_API_STATUS NetUserAdd(

    LPWSTR servername,

    DWORD level,

    LPBYTE buf,

    LPDWORD parm_err 

   );

Parameters

servername
Pointer to a Unicode string containing the name of the remote server on which the function is to execute. A NULL pointer or string specifies the local computer.
level
Specifies one of the following values to set the level of information provided.

Value

Meaning

1

The buf parameter points to a USER_INFO_1 structure.

2

The buf parameter points to a USER_INFO_2 structure.

3

The buf parameter points to a USER_INFO_3 structure.

buf
Pointer to the buffer in which the data set with the level parameter is stored.
parm_err
Optional pointer to a DWORD that contains the index of the first parameter that causes ERROR_INVALID_PARAMETER. If NULL, the parameter is not returned on error.

Return Values

If the function returns account information, the return value is NERR_Success.

If the function fails, the return value is one of the following error codes.

Value

Meaning

ERROR_ACCESS_DENIED

The user does not have access to the requested information.

NERR_InvalidComputer

Thiecomputer name is invalid.

NERR_NotPrimary

The operation is allowed only on the primary domain controller of the domain.

NERR_GroupExists

The group already exists.

NERR_UserExists

The user account already exists.

NERR_PasswordTooShort

The password is shorter than required.

Remarks

Server users must use a system in which the server creates a WINDOWS NT system account for the new user. The creation of this account is controlled by several parameters in the server’s LANMAN.INI file.

If the newly added server user name already exists as a Windows NT system user, the useril_home_dir member of the USER_INFO_1 structure is ignored. The NetUserAdd function supports USER_INFO_1 and USER_INFO_2 structures. Using members of USER_INFO_1 initializes default values in USER_INFO_2 and USER_INFO_3 structures.

Subsequent NetUserSetInfo calls can change the default values. The following are possible default values.

Member

Default Value

usriX_auth_flags

None (0)

usriX_full_name

usri1_name

usriX_usr_comment

None (null string)

usriX_parms

None (null string)

usriX_workstations

All (null string)

usriX_acct_expires

Never (TIMEQ_FOREVER)

usriX_max_storage

Unlimited (USER_MAXSTORAGE_UNLIMITED)

usriX_logon_hours

Logon allowed at any time (each element 0xFF; all bits set to 1)

usriX_logon_server

Any domain controller (\\*)

usriX_country_code

Current (country_code on the server

usriX_code_page

0

See Also

NetUserEnum, NetUserSetInfo, NetUserDel