estrutura USER_INFO_4 (lmaccess.h)
A estrutura USER_INFO_4 contém informações sobre uma conta de usuário, incluindo o nome da conta, os dados de senha, o nível de privilégio, o caminho para o diretório base do usuário, o SID (identificador de segurança) e outras estatísticas de rede relacionadas ao usuário.
Sintaxe
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;
Membros
usri4_name
Tipo: LPWSTR
Um ponteiro para uma cadeia de caracteres Unicode que especifica o nome da conta de usuário. Para a função NetUserSetInfo , esse membro é ignorado.
usri4_password
Tipo: LPWSTR
Um ponteiro para uma cadeia de caracteres Unicode que especifica a senha do usuário identificado pelo membro usri4_name . O comprimento não pode exceder bytes PWLEN. A função NetUserGetInfo retorna um ponteiro NULL para manter a segurança de senha.
Por convenção, o comprimento das senhas é limitado a caracteres LM20_PWLEN.
usri4_password_age
Tipo: DWORD
O número de segundos decorridos desde que o membro usri4_password foi alterado pela última vez. As funções NetUserAdd e NetUserSetInfo ignoram esse membro.
usri4_priv
Tipo: DWORD
O nível de privilégio atribuído ao membro usri4_name . As funções NetUserAdd e NetUserSetInfo ignoram esse membro. Esse membro pode ser um dos valores a seguir. Para obter mais informações sobre direitos de conta de usuário e grupo, consulte Privilégios.
Valor | Significado |
---|---|
|
Convidado |
|
Usuário |
|
Administrador |
usri4_home_dir
Tipo: LPWSTR
Um ponteiro para uma cadeia de caracteres Unicode que especifica o caminho do diretório base do usuário especificado pelo membro usri4_name . A cadeia de caracteres pode ser NULL.
usri4_comment
Tipo: LPWSTR
Um ponteiro para uma cadeia de caracteres Unicode que contém um comentário a ser associado à conta de usuário. A cadeia de caracteres pode ser uma cadeia de caracteres NULL ou pode ter qualquer número de caracteres antes do caractere nulo de terminação.
usri4_flags
Tipo: DWORD
Esse membro pode ser um ou mais dos valores a seguir.
Observe que definir sinalizadores de controle de conta de usuário pode exigir determinados privilégios e controlar direitos de acesso. Para obter mais informações, consulte a seção Comentários da função NetUserSetInfo .
Valor | Significado |
---|---|
|
O script de logon executado. Esse valor deve ser definido. |
|
A conta do usuário está desabilitada. |
|
O diretório base é necessário. Este valor é ignorado. |
|
Nenhuma senha é necessária. |
|
O usuário não pode alterar a senha. |
|
No momento, a conta está bloqueada. Você pode chamar a função NetUserSetInfo para limpar esse valor e desbloquear uma conta bloqueada anteriormente. Você não pode usar esse valor para bloquear uma conta desbloqueada anteriormente. |
|
A senha nunca deve expirar na conta. |
|
A senha do usuário é armazenada em criptografia reversível no Active Directory. |
|
Marca a conta como "confidencial"; outros usuários não podem atuar como delegados dessa conta de usuário. |
|
Exige que o usuário faça logon na conta de usuário com uma cartão inteligente. |
|
Restrinja essa entidade de segurança para usar apenas tipos de criptografia DES (Data Encryption Standard) para chaves. |
|
Essa conta não requer pré-autenticação Kerberos para logon. |
|
A conta está habilitada para delegação. Essa é uma configuração sensível à segurança; contas com essa opção habilitada devem ser rigorosamente controladas. Essa configuração permite que um serviço em execução na conta assuma a identidade de um cliente e se autentique como esse usuário para outros servidores remotos na rede. |
|
A senha do usuário expirou.
Windows 2000: Esse valor é ignorado. |
|
A conta é confiável para autenticar um usuário fora do pacote de segurança Kerberos e delegar esse usuário por meio da delegação restrita. Essa é uma configuração sensível à segurança; contas com essa opção habilitada devem ser rigorosamente controladas. Essa configuração permite que um serviço em execução na conta afirme a identidade de um cliente e se autentique como esse usuário para serviços configurados especificamente na rede.
Windows XP/2000: Esse valor é ignorado. |
Os valores a seguir descrevem o tipo de conta. Somente um valor pode ser definido. Não é possível alterar o tipo de conta usando a função NetUserSetInfo .
usri4_script_path
Tipo: LPWSTR
Um ponteiro para uma cadeia de caracteres Unicode especificando o caminho para o arquivo de script de logon do usuário. O arquivo de script pode ser um . Arquivo CMD, um arquivo .EXE ou um arquivo .BAT. A cadeia de caracteres também pode ser NULL.
usri4_auth_flags
Tipo: DWORD
Os privilégios de operador do usuário.
Para a função NetUserGetInfo , o valor apropriado é retornado com base na associação de grupo local. Se o usuário for membro dos Operadores de Impressão, AF_OP_PRINT será definido. Se o usuário for membro dos Operadores de Servidor, AF_OP_SERVER será definido. Se o usuário for membro dos Operadores de Conta, AF_OP_ACCOUNTS será definido. AF_OP_COMM nunca está definido.
As funções NetUserAdd e NetUserSetInfo ignoram esse membro.
Esse membro pode ser um ou mais dos valores a seguir.
usri4_full_name
Tipo: LPWSTR
Um ponteiro para uma cadeia de caracteres Unicode que contém o nome completo do usuário. Essa cadeia de caracteres pode ser uma cadeia de caracteres NULL ou pode ter qualquer número de caracteres antes do caractere nulo de terminação.
usri4_usr_comment
Tipo: LPWSTR
Um ponteiro para uma cadeia de caracteres Unicode que contém um comentário do usuário. Essa cadeia de caracteres pode ser uma cadeia de caracteres NULL ou pode ter qualquer número de caracteres antes do caractere nulo de terminação.
usri4_parms
Tipo: LPWSTR
Um ponteiro para uma cadeia de caracteres Unicode reservada para uso por aplicativos. Essa cadeia de caracteres pode ser uma cadeia de caracteres NULL ou pode ter qualquer número de caracteres antes do caractere nulo de terminação. Os produtos da Microsoft usam esse membro para armazenar informações de configuração do usuário. Não modifique essas informações.
usri4_workstations
Tipo: LPWSTR
Importante
Você não deve mais usar usri4_workstations. Em vez disso, você pode controlar o acesso de entrada às estações de trabalho definindo as configurações de Atribuição de Direitos de Usuário (Permitir logon localmente e Negar logon localmente ou Permitir logon por meio dos Serviços de Área de Trabalho Remota e Negar logon por meio dos Serviços de Área de Trabalho Remota).
Um ponteiro para uma cadeia de caracteres Unicode que contém os nomes das estações de trabalho das quais o usuário pode fazer logon. Até oito estações de trabalho podem ser especificadas; os nomes devem ser separados por vírgulas. Se você não quiser restringir o número de estações de trabalho, use uma cadeia de caracteres NULL . Para desabilitar logons de todas as estações de trabalho para essa conta, defina o valor UF_ACCOUNTDISABLE no membro usri4_flags .
usri4_last_logon
Tipo: DWORD
A data e a hora em que o último logon ocorreu. Esse valor é armazenado como o número de segundos decorridos desde 00:00:00, 1º de janeiro de 1970, GMT. Esse membro é ignorado pelas funções NetUserAdd e NetUserSetInfo .
Esse membro é mantido separadamente em cada BDC (controlador de domínio de backup) no domínio. Para obter um valor preciso, você deve consultar cada BDC no domínio. O último logon ocorreu no momento indicado pelo maior valor recuperado.
usri4_last_logoff
Tipo: DWORD
Este membro não é usado no momento.
A data e a hora em que o último logoff ocorreu. Esse valor é armazenado como o número de segundos decorridos desde 00:00:00, 1º de janeiro de 1970, GMT. Um valor zero indica que a hora do último logoff é desconhecida.
Esse membro é mantido separadamente em cada BDC (controlador de domínio de backup) no domínio. Para obter um valor preciso, você deve consultar cada BDC no domínio. O último logoff ocorreu no momento indicado pelo maior valor recuperado.
usri4_acct_expires
Tipo: DWORD
A data e a hora em que a conta expira. Esse valor é armazenado como o número de segundos decorridos desde 00:00:00, 1º de janeiro de 1970, GMT. Um valor de TIMEQ_FOREVER indica que a conta nunca expira.
usri4_max_storage
Tipo: DWORD
A quantidade máxima de espaço em disco que o usuário pode usar. Especifique USER_MAXSTORAGE_UNLIMITED para usar todo o espaço em disco disponível.
usri4_units_per_week
Tipo: DWORD
O número de unidades de tempo de comprimento igual em que a semana é dividida. Esse valor é necessário para calcular o comprimento da cadeia de caracteres de bits no membro usri4_logon_hours .
Esse valor deve ser UNITS_PER_WEEK para o LAN Manager 2.0. Esse elemento é ignorado pelas funções NetUserAdd e NetUserSetInfo .
Para aplicativos de serviço, as unidades devem ser um dos seguintes valores: SAM_DAYS_PER_WEEK, SAM_HOURS_PER_WEEK ou SAM_MINUTES_PER_WEEK.
usri4_logon_hours
Tipo: PBYTE
Um ponteiro para uma cadeia de caracteres de bits de 21 bytes (168 bits) que especifica os horários durante os quais o usuário pode fazer logon. Cada bit representa uma hora exclusiva na semana, em Greenwich Mean Time (GMT).
O primeiro bit (bit 0, palavra 0) é domingo, 0:00 a 0:59; o segundo bit (bit 1, palavra 0) é domingo, 1:00 a 1:59; e assim por diante. Observe que o bit 0 na palavra 0 representa domingo de 0:00 a 0:59 somente se você estiver no fuso horário GMT. Em todos os outros casos, você deve ajustar os bits de acordo com o deslocamento de fuso horário (por exemplo, GMT menos 8 horas para o Horário Padrão do Pacífico).
Especifique um ponteiro NULL nesse membro ao chamar a função NetUserAdd para indicar nenhuma restrição de tempo. Especifique um ponteiro NULL ao chamar a função NetUserSetInfo para indicar que nenhuma alteração deve ser feita nos horários durante os quais o usuário pode fazer logon.
usri4_bad_pw_count
Tipo: DWORD
O número de vezes que o usuário tentou fazer logon na conta usando uma senha incorreta. Um valor de – 1 indica que o valor é desconhecido. As chamadas para as funções NetUserAdd e NetUserSetInfo ignoram esse membro.
Esse membro é replicado do controlador de domínio primário (PDC); ele também é mantido em cada BDC (controlador de domínio de backup) no domínio. Para obter um valor preciso, você deve consultar cada BDC no domínio. O número de vezes que o usuário tentou fazer logon usando uma senha incorreta é o maior valor recuperado.
usri4_num_logons
Tipo: DWORD
O número de vezes que o usuário fez logon com êxito nessa conta. Um valor de – 1 indica que o valor é desconhecido. As chamadas para as funções NetUserAdd e NetUserSetInfo ignoram esse membro.
Esse membro é mantido separadamente em cada BDC (controlador de domínio de backup) no domínio. Para obter um valor preciso, você deve consultar cada BDC no domínio. O número de vezes que o usuário fez logon com êxito é a soma dos valores recuperados.
usri4_logon_server
Tipo: LPWSTR
Um ponteiro para uma cadeia de caracteres Unicode que contém o nome do servidor para o qual as solicitações de logon são enviadas. Os nomes de servidor devem ser precedidos por duas barras invertidas (\). Para indicar que a solicitação de logon pode ser manipulada por qualquer servidor de logon, especifique um asterisco (\*) para o nome do servidor. Uma cadeia de caracteres NULL indica que as solicitações devem ser enviadas ao controlador de domínio.
Para servidores Windows, a função NetUserGetInfo retorna \*.
As funções NetUserAdd e NetUserSetInfo ignoram esse membro.
usri4_country_code
Tipo: DWORD
O código de país/região para o idioma de escolha do usuário.
usri4_code_page
Tipo: DWORD
A página de código para o idioma de escolha do usuário.
usri4_user_sid
Tipo: PSID
Um ponteiro para uma estrutura sid que contém o SID (identificador de segurança) que identifica exclusivamente o usuário. As funções NetUserAdd e NetUserSetInfo ignoram esse membro.
usri4_primary_group_id
Tipo: DWORD
O RID (identificador relativo) do Grupo Global Primário para o usuário. Quando você chama a função NetUserAdd , esse membro deve ser DOMAIN_GROUP_RID_USERS (definido em WinNT.h). Quando você chama NetUserSetInfo, esse membro deve ser o RID de um grupo global no qual o usuário está registrado. Para obter mais informações, consulte SIDs conhecidos e componentes sid.
usri4_profile
Tipo: LPWSTR
Um ponteiro para uma cadeia de caracteres Unicode que especifica um caminho para o perfil do usuário. Esse valor pode ser uma cadeia de caracteres NULL , um caminho absoluto local ou um caminho UNC.
usri4_home_dir_drive
Tipo: LPWSTR
Um ponteiro para uma cadeia de caracteres Unicode que especifica a letra da unidade atribuída ao diretório base do usuário para fins de logon.
usri4_password_expired
Tipo: DWORD
As informações de expiração da senha.
A função NetUserGetInfo retornará zero se a senha não tiver expirado (e diferente de zero se tiver).
Ao chamar NetUserAdd ou NetUserSetInfo, especifique um valor diferente de zero neste membro para informar aos usuários que eles devem alterar sua senha no próximo logon. Para desativar essa mensagem, chame NetUserSetInfo e especifique zero neste membro. Observe que você não pode especificar zero para negar a expiração de uma senha que já expirou.
Comentários
A estrutura USER_INFO_4 pode ser usada com as funções NetUserAdd, NetUserSetInfo e NetUserGetInfo .
Os nomes de conta de usuário são limitados a 20 caracteres e os nomes de grupo são limitados a 256 caracteres. Além disso, os nomes de conta não podem ser encerrados por um período e não podem incluir vírgulas ou qualquer um dos seguintes caracteres imprimíveis: ", /, , [, ], :, |, <, , >, +, =, ;, ?, *. Os nomes também não podem incluir caracteres no intervalo de 1 a 31, que são não imprimíveis.
Observe que a estrutura USER_INFO_4 substitui a estrutura USER_INFO_3 no Windows XP e posterior. É recomendável que os aplicativos usem a estrutura USER_INFO_4 em vez da estrutura USER_INFO_3 com as funções acima no Windows XP e posteriores.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Cabeçalho | lmaccess.h (inclua Lm.h) |
Confira também
Visão geral do gerenciamento de rede