estructura USER_INFO_4 (lmaccess.h)

La estructura de USER_INFO_4 contiene información sobre una cuenta de usuario, incluidos el nombre de la cuenta, los datos de contraseña, el nivel de privilegios, la ruta de acceso al directorio principal del usuario, el identificador de seguridad (SID) y otras estadísticas de red relacionadas con el usuario.

Sintaxis

typedef struct _USER_INFO_4 {
  LPWSTR usri4_name;
  LPWSTR usri4_password;
  DWORD  usri4_password_age;
  DWORD  usri4_priv;
  LPWSTR usri4_home_dir;
  LPWSTR usri4_comment;
  DWORD  usri4_flags;
  LPWSTR usri4_script_path;
  DWORD  usri4_auth_flags;
  LPWSTR usri4_full_name;
  LPWSTR usri4_usr_comment;
  LPWSTR usri4_parms;
  LPWSTR usri4_workstations;
  DWORD  usri4_last_logon;
  DWORD  usri4_last_logoff;
  DWORD  usri4_acct_expires;
  DWORD  usri4_max_storage;
  DWORD  usri4_units_per_week;
  PBYTE  usri4_logon_hours;
  DWORD  usri4_bad_pw_count;
  DWORD  usri4_num_logons;
  LPWSTR usri4_logon_server;
  DWORD  usri4_country_code;
  DWORD  usri4_code_page;
  PSID   usri4_user_sid;
  DWORD  usri4_primary_group_id;
  LPWSTR usri4_profile;
  LPWSTR usri4_home_dir_drive;
  DWORD  usri4_password_expired;
} USER_INFO_4, *PUSER_INFO_4, *LPUSER_INFO_4;

Miembros

usri4_name

Tipo: LPWSTR

Puntero a una cadena Unicode que especifica el nombre de la cuenta de usuario. Para la función NetUserSetInfo , se omite este miembro.

usri4_password

Tipo: LPWSTR

Puntero a una cadena Unicode que especifica la contraseña del usuario identificado por el miembro usri4_name . La longitud no puede superar los bytes de PWLEN. La función NetUserGetInfo devuelve un puntero NULL para mantener la seguridad de la contraseña.

Por convención, la longitud de las contraseñas se limita a LM20_PWLEN caracteres.

usri4_password_age

Tipo: DWORD

Número de segundos transcurridos desde que se cambió por última vez el miembro usri4_password. Las funciones NetUserAdd y NetUserSetInfo omiten este miembro.

usri4_priv

Tipo: DWORD

Nivel de privilegio asignado al miembro usri4_name . Las funciones NetUserAdd y NetUserSetInfo omiten este miembro. Este miembro puede ser uno de los valores siguientes. Para obtener más información sobre los derechos de cuenta de usuario y grupo, consulte Privilegios.

Valor Significado
USER_PRIV_GUEST
Invitado
USER_PRIV_USER
Usuario
USER_PRIV_ADMIN
Administrador

usri4_home_dir

Tipo: LPWSTR

Puntero a una cadena Unicode que especifica la ruta de acceso del directorio principal del usuario especificado por el miembro usri4_name . La cadena puede ser NULL.

usri4_comment

Tipo: LPWSTR

Puntero a una cadena Unicode que contiene un comentario que se va a asociar a la cuenta de usuario. La cadena puede ser una cadena NULL o puede tener cualquier número de caracteres antes del carácter nulo de terminación.

usri4_flags

Tipo: DWORD

Este miembro puede ser uno o varios de los valores siguientes.

Tenga en cuenta que establecer marcas de control de cuentas de usuario puede requerir ciertos privilegios y controlar los derechos de acceso. Para obtener más información, vea la sección Comentarios de la función NetUserSetInfo .

Valor Significado
UF_SCRIPT
Script de inicio de sesión ejecutado. Este valor debe establecerse.
UF_ACCOUNTDISABLE
La cuenta del usuario está deshabilitada.
UF_HOMEDIR_REQUIRED
Se requiere el directorio principal. Este valor se omite.
UF_PASSWD_NOTREQD
No se requiere una contraseña.
UF_PASSWD_CANT_CHANGE
El usuario no puede cambiar la contraseña.
UF_LOCKOUT
La cuenta está bloqueada actualmente. Puede llamar a la función NetUserSetInfo para borrar este valor y desbloquear una cuenta bloqueada previamente. No puede usar este valor para bloquear una cuenta desbloqueada previamente.
UF_DONT_EXPIRE_PASSWD
La contraseña nunca debe expirar en la cuenta.
UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED
La contraseña del usuario se almacena bajo cifrado reversible en Active Directory.
UF_NOT_DELEGATED
Marca la cuenta como "confidencial"; otros usuarios no pueden actuar como delegados de esta cuenta de usuario.
UF_SMARTCARD_REQUIRED
Requiere que el usuario inicie sesión en la cuenta de usuario con una tarjeta inteligente.
UF_USE_DES_KEY_ONLY
Restrinja esta entidad de seguridad para usar solo los tipos de cifrado estándar de cifrado de datos (DES) para las claves.
UF_DONT_REQUIRE_PREAUTH
Esta cuenta no requiere autenticación previa de Kerberos para el inicio de sesión.
UF_TRUSTED_FOR_DELEGATION
La cuenta está habilitada para la delegación. Se trata de una configuración sensible a la seguridad; Las cuentas con esta opción habilitada deben estar estrechamente controladas. Esta configuración permite que un servicio que se ejecute en la cuenta asuma la identidad de un cliente y autentíquese como ese usuario en otros servidores remotos de la red.
UF_PASSWORD_EXPIRED
La contraseña del usuario ha expirado.

Windows 2000: Este valor se omite.

UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION
La cuenta es de confianza para autenticar a un usuario fuera del paquete de seguridad kerberos y delegar a ese usuario a través de la delegación restringida. Se trata de una configuración sensible a la seguridad; Las cuentas con esta opción habilitada deben estar estrechamente controladas. Esta configuración permite que un servicio que se ejecute en la cuenta aserte la identidad de un cliente y se autentique como ese usuario para configurar específicamente los servicios en la red.

Windows XP/2000: Este valor se omite.

 

Los valores siguientes describen el tipo de cuenta. Solo se puede establecer un valor. No se puede cambiar el tipo de cuenta mediante la función NetUserSetInfo .

Valor Significado
UF_NORMAL_ACCOUNT
Se trata de un tipo de cuenta predeterminado que representa un usuario típico.
UF_TEMP_DUPLICATE_ACCOUNT
Se trata de una cuenta para los usuarios cuya cuenta principal está en otro dominio. Esta cuenta proporciona acceso de usuario a este dominio, pero no a ningún dominio que confíe en este dominio. El Administrador de usuarios hace referencia a este tipo de cuenta como una cuenta de usuario local.
UF_WORKSTATION_TRUST_ACCOUNT
Se trata de una cuenta de equipo para un equipo que es miembro de este dominio.
UF_SERVER_TRUST_ACCOUNT
Se trata de una cuenta de equipo para un controlador de dominio de copia de seguridad que es miembro de este dominio.
UF_INTERDOMAIN_TRUST_ACCOUNT
Se trata de un permiso para confiar en un dominio que confía en otros dominios.

usri4_script_path

Tipo: LPWSTR

Puntero a una cadena Unicode que especifica la ruta de acceso del archivo de script de inicio de sesión del usuario. El archivo de script puede ser . Archivo CMD, un archivo de .EXE o un archivo de .BAT. La cadena también puede ser NULL.

usri4_auth_flags

Tipo: DWORD

Privilegios de operador del usuario.

Para la función NetUserGetInfo , se devuelve el valor adecuado en función de la pertenencia al grupo local. Si el usuario es miembro de operadores de impresión, se establece AF_OP_PRINT. Si el usuario es miembro de los operadores de servidor, se establece AF_OP_SERVER. Si el usuario es miembro de los operadores de cuenta, se establece AF_OP_ACCOUNTS. AF_OP_COMM nunca se establece.

Las funciones NetUserAdd y NetUserSetInfo omiten este miembro.

Este miembro puede ser uno o varios de los valores siguientes.

Valor Significado
AF_OP_PRINT
El privilegio del operador de impresión está habilitado.
AF_OP_COMM
El privilegio del operador de comunicaciones está habilitado.
AF_OP_SERVER
El privilegio del operador de servidor está habilitado.
AF_OP_ACCOUNTS
El privilegio del operador accounts está habilitado.

usri4_full_name

Tipo: LPWSTR

Puntero a una cadena Unicode que contiene el nombre completo del usuario. Esta cadena puede ser una cadena NULL o puede tener cualquier número de caracteres antes de terminar el carácter NULO.

usri4_usr_comment

Tipo: LPWSTR

Puntero a una cadena Unicode que contiene un comentario de usuario. Esta cadena puede ser una cadena NULL o puede tener cualquier número de caracteres antes de terminar el carácter NULO.

usri4_parms

Tipo: LPWSTR

Puntero a una cadena Unicode que está reservada para su uso por parte de las aplicaciones. Esta cadena puede ser una cadena NULL o puede tener cualquier número de caracteres antes de terminar el carácter NULO. Los productos de Microsoft usan este miembro para almacenar información de configuración de usuario. No modifique esta información.

usri4_workstations

Tipo: LPWSTR

Importante

Ya no debe usar usri4_workstations. En su lugar, puede controlar el acceso de inicio de sesión a las estaciones de trabajo mediante la configuración de asignación de derechos de usuario (Permitir el inicio de sesión local yDenegar inicio de sesión localmente o Permitir el inicio de sesión a través de Servicios de Escritorio remoto y Denegar inicio de sesión a través de Servicios de Escritorio remoto).

Puntero a una cadena Unicode que contiene los nombres de las estaciones de trabajo desde las que el usuario puede iniciar sesión. Se pueden especificar hasta ocho estaciones de trabajo; los nombres deben estar separados por comas. Si no desea restringir el número de estaciones de trabajo, use una cadena NULL . Para deshabilitar los inicios de sesión de todas las estaciones de trabajo en esta cuenta, establezca el valor UF_ACCOUNTDISABLE en el miembro usri4_flags .

usri4_last_logon

Tipo: DWORD

Fecha y hora en que se produjo el último inicio de sesión. Este valor se almacena como el número de segundos transcurridos desde las 00:00:00, 1 de enero de 1970, GMT. Las funciones NetUserAdd y NetUserSetInfo omiten este miembro.

Este miembro se mantiene por separado en cada controlador de dominio de copia de seguridad (BDC) del dominio. Para obtener un valor preciso, debe consultar cada BDC en el dominio. El último inicio de sesión se produjo en el momento indicado por el valor recuperado más grande.

usri4_last_logoff

Tipo: DWORD

Este miembro no se usa actualmente.

Fecha y hora en que se produjo el último inicio de sesión. Este valor se almacena como el número de segundos transcurridos desde las 00:00:00, 1 de enero de 1970, GMT. Un valor de cero indica que se desconoce la última hora de cierre de sesión.

Este miembro se mantiene por separado en cada controlador de dominio de copia de seguridad (BDC) del dominio. Para obtener un valor preciso, debe consultar cada BDC en el dominio. El último inicio de sesión se produjo en el momento indicado por el valor recuperado más grande.

usri4_acct_expires

Tipo: DWORD

Fecha y hora en que expira la cuenta. Este valor se almacena como el número de segundos transcurridos desde las 00:00:00, 1 de enero de 1970, GMT. Un valor de TIMEQ_FOREVER indica que la cuenta nunca expira.

usri4_max_storage

Tipo: DWORD

La cantidad máxima de espacio en disco que puede usar el usuario. Especifique USER_MAXSTORAGE_UNLIMITED usar todo el espacio disponible en disco.

usri4_units_per_week

Tipo: DWORD

Número de unidades de tiempo de igual longitud en las que se divide la semana. Este valor es necesario para calcular la longitud de la cadena de bits en el miembro usri4_logon_hours .

Este valor debe ser UNITS_PER_WEEK para LAN Manager 2.0. Las funciones NetUserAdd y NetUserSetInfo omiten este elemento.

En el caso de las aplicaciones de servicio, las unidades deben ser uno de los siguientes valores: SAM_DAYS_PER_WEEK, SAM_HOURS_PER_WEEK o SAM_MINUTES_PER_WEEK.

usri4_logon_hours

Tipo: PBYTE

Puntero a una cadena de bits de 21 bytes (168 bits) que especifica las horas durante las que el usuario puede iniciar sesión. Cada bit representa una hora única de la semana, en hora media de Greenwich (GMT).

El primer bit (bit 0, word 0) es domingo, de 0:00 a 0:59; el segundo bit (bit 1, palabra 0) es domingo, de 1:00 a 1:59; y así sucesivamente. Tenga en cuenta que el bit 0 de la palabra 0 representa el domingo de 0:00 a 0:59 solo si se encuentra en la zona horaria GMT. En todos los demás casos, debe ajustar los bits según el desplazamiento de la zona horaria (por ejemplo, GMT menos 8 horas para la hora estándar del Pacífico).

Especifique un puntero NULL en este miembro al llamar a la función NetUserAdd para indicar ninguna restricción de tiempo. Especifique un puntero NULL al llamar a la función NetUserSetInfo para indicar que no se realizará ningún cambio en las horas durante las que el usuario puede iniciar sesión.

usri4_bad_pw_count

Tipo: DWORD

Número de veces que el usuario intentó iniciar sesión en la cuenta con una contraseña incorrecta. Un valor de – 1 indica que el valor es desconocido. Las llamadas a las funciones NetUserAdd y NetUserSetInfo omiten este miembro.

Este miembro se replica desde el controlador de dominio principal (PDC); también se mantiene en cada controlador de dominio de copia de seguridad (BDC) del dominio. Para obtener un valor preciso, debe consultar cada BDC en el dominio. El número de veces que el usuario intentó iniciar sesión con una contraseña incorrecta es el valor más grande recuperado.

usri4_num_logons

Tipo: DWORD

Número de veces que el usuario ha iniciado sesión correctamente en esta cuenta. Un valor de – 1 indica que el valor es desconocido. Las llamadas a las funciones NetUserAdd y NetUserSetInfo omiten este miembro.

Este miembro se mantiene por separado en cada controlador de dominio de copia de seguridad (BDC) del dominio. Para obtener un valor preciso, debe consultar cada BDC en el dominio. El número de veces que el usuario ha iniciado sesión correctamente es la suma de los valores recuperados.

usri4_logon_server

Tipo: LPWSTR

Puntero a una cadena Unicode que contiene el nombre del servidor al que se envían las solicitudes de inicio de sesión. Los nombres de servidor deben ir precedidos de dos barras diagonales inversas (\). Para indicar que cualquier servidor de inicio de sesión puede controlar la solicitud de inicio de sesión, especifique un asterisco (\*) para el nombre del servidor. Una cadena NULL indica que las solicitudes se deben enviar al controlador de dominio.

En el caso de los servidores Windows, la función NetUserGetInfo devuelve \*.

Las funciones NetUserAdd y NetUserSetInfo omiten este miembro.

usri4_country_code

Tipo: DWORD

El código de país o región para el idioma que elija el usuario.

usri4_code_page

Tipo: DWORD

Página de códigos del idioma que elija el usuario.

usri4_user_sid

Tipo: PSID

Puntero a una estructura de SID que contiene el identificador de seguridad (SID) que identifica de forma única al usuario. Las funciones NetUserAdd y NetUserSetInfo omiten este miembro.

usri4_primary_group_id

Tipo: DWORD

Identificador relativo (RID) del grupo global principal para el usuario. Al llamar a la función NetUserAdd , este miembro debe ser DOMAIN_GROUP_RID_USERS (definido en WinNT.h). Cuando se llama a NetUserSetInfo, este miembro debe ser el RID de un grupo global en el que se inscribe el usuario. Para obtener más información, vea SID conocidos y componentes de SID.

usri4_profile

Tipo: LPWSTR

Puntero a una cadena Unicode que especifica una ruta de acceso al perfil del usuario. Este valor puede ser una cadena NULL , una ruta de acceso absoluta local o una ruta de acceso UNC.

usri4_home_dir_drive

Tipo: LPWSTR

Puntero a una cadena Unicode que especifica la letra de unidad asignada al directorio principal del usuario con fines de inicio de sesión.

usri4_password_expired

Tipo: DWORD

Información de expiración de contraseña.

La función NetUserGetInfo devuelve cero si la contraseña no ha expirado (y distinto de cero si tiene).

Al llamar a NetUserAdd o NetUserSetInfo, especifique un valor distinto de cero en este miembro para informar a los usuarios de que deben cambiar su contraseña en el siguiente inicio de sesión. Para desactivar este mensaje, llame a NetUserSetInfo y especifique cero en este miembro. Tenga en cuenta que no puede especificar cero para negar la expiración de una contraseña que ya ha expirado.

Comentarios

La estructura USER_INFO_4 se puede usar con las funciones NetUserAdd, NetUserSetInfo y NetUserGetInfo .

Los nombres de cuenta de usuario están limitados a 20 caracteres y los nombres de grupo están limitados a 256 caracteres. Además, los nombres de cuenta no se pueden terminar por un punto y no pueden incluir comas ni ninguno de los siguientes caracteres imprimibles: ", /, , [, ], :, |, <, , >+, =, ;, ?, *. Los nombres tampoco pueden incluir caracteres en el intervalo 1-31, que no son imprimibles.

Tenga en cuenta que la estructura de USER_INFO_4 sustituye a la estructura de USER_INFO_3 en Windows XP y versiones posteriores. Se recomienda que las aplicaciones usen la estructura USER_INFO_4 en lugar de la estructura de USER_INFO_3 con las funciones anteriores en Windows XP y versiones posteriores.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado lmaccess.h (include Lm.h)

Consulte también

NetUserAdd

NetUserEnum

NetUserGetInfo

NetUserSetInfo

Introducción a la administración de redes

Estructuras de administración de redes

SID

USER_INFO_3

Funciones de usuario