NetUserEnum
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_0ABGYP7 structures. |
1 |
The bufptr
parameter points to an array of USER_INFO_1A9GYP7 structures. |
2 |
The bufptr
parameter points to an array of USER_INFO_2A0GYP7 structures. |
3 |
The bufptr
parameter points to an array of USER_INFO_313DSY.G structures. |
10 |
The bufptr
parameter points to an array of USER_INFO_1003DZKE structures. |
11 |
The bufptr
parameter points to an array of USER_INFO_119UDZKE structures. |
12 |
The bufptr
parameter points to an array of USER_INFO_20X.PZ7U 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
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