Prev Next

NetUserEnum info  Overview  Group

The NetUserEnum function provides information about all user accounts on a server.

Security Requirements

Only members of the Administrators or Account operators local group can successfully execute NetUserEnum at levels 1 and 2. No special group membership is required at level 0 or 10.

NET_API_STATUS NetUserEnum(

    LPWSTR servername,

    DWORD level,

    DWORD filter,

    LPBYTE *bufptr,

    DWORD prefmaxlen,

    LPDWORD entriesread,

    LPDWORD totalentries,

    LPDWORD resume_handle 

   );

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 return the level of information provided.

Value

Meaning

0

The bufptr parameter points to an array of USER_INFO_0 structures.

1

The bufptr parameter points to an array of USER_INFO_1 structures.

2

The bufptr parameter points to an array of USER_INFO_2 structures.

3

The bufptr parameter points to an array of USER_INFO_3 structures.

10

The bufptr parameter points to an array of USER_INFO_10 structures.

11

The bufptr parameter points to an array of USER_INFO_11 structures.

12

The bufptr parameter points to an array of USER_INFO_20 structures.

filter
Specifies a filter of account types to enumerate. A value of zero implies all account types. Allowable values are:

Value

Meaning

FILTER_TEMP_DUPLICATE_ACCOUNTS

Enumerates local user account data on a domain controller.

FILTER_NORMAL_ACCOUNT

Enumerates global user account data on a computer.

FILTER_INTERDOMAIN_TRUST_ACCOUNT

Enumerates domain trust account data on a domain controller.

FILTER_WORKSTATION_TRUST_ACCOUNT

Enumerates workstation or member server account data on a domain controller.

FILTER_SERVER_TRUST_ACCOUNT

Enumerates domain controller account data on a domain controller.

bufptr
Pointer to the buffer in which the data set with the level parameter is stored. The returned buffer should be deallocated using the NetApiBufferFree function.
prefmaxlen
Preferred maximum length, in 8-bit bytes of returned data.
entriesread
Pointer to a DWORD that contains the actual enumerated element count.
totalentries
Pointer to a DWORD that contains the total number of entries that could have been enumerated from the current resume position. EXCEPTION: If the call is to a computer that is running LAN Manager 2.x, the totalentries parameter will always reflect the total number of entries in the database no matter where it is in the resume sequence.
resume_handle
Pointer to a DWORD that contains resume_handle, which is used to continue an existing user search. The handle should be zero on the first call and left unchanged for subsequent calls. If resume_handle is NULL, then no resume handle is stored.

Return Values

If the function is successful, it returns 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

The computer name is invalid.

ERROR_MORE_DATA

More entries are available with subsequent calls.

Remarks

The NetUserEnum function returns the full set of USER_INFO_0 or USER_INFO_1 components. If level is set to 1, the password component of each data structure will be set to NULL to maintain password security. The NetUserEnum does not return all Windows NT system users. It returns only those users who have been added by the NetUserAdd function.

See Also

NetUserGetGroups, NetUserGetInfo, USER_INFO_0, USER_INFO_1, NetUserAdd