Compartilhar via


estrutura USER_INFO_3 (lmaccess.h)

A estrutura USER_INFO_3 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, os RIDs (identificadores relativos) e outras estatísticas de rede relacionadas ao usuário.

Sintaxe

typedef struct _USER_INFO_3 {
  LPWSTR usri3_name;
  LPWSTR usri3_password;
  DWORD  usri3_password_age;
  DWORD  usri3_priv;
  LPWSTR usri3_home_dir;
  LPWSTR usri3_comment;
  DWORD  usri3_flags;
  LPWSTR usri3_script_path;
  DWORD  usri3_auth_flags;
  LPWSTR usri3_full_name;
  LPWSTR usri3_usr_comment;
  LPWSTR usri3_parms;
  LPWSTR usri3_workstations;
  DWORD  usri3_last_logon;
  DWORD  usri3_last_logoff;
  DWORD  usri3_acct_expires;
  DWORD  usri3_max_storage;
  DWORD  usri3_units_per_week;
  PBYTE  usri3_logon_hours;
  DWORD  usri3_bad_pw_count;
  DWORD  usri3_num_logons;
  LPWSTR usri3_logon_server;
  DWORD  usri3_country_code;
  DWORD  usri3_code_page;
  DWORD  usri3_user_id;
  DWORD  usri3_primary_group_id;
  LPWSTR usri3_profile;
  LPWSTR usri3_home_dir_drive;
  DWORD  usri3_password_expired;
} USER_INFO_3, *PUSER_INFO_3, *LPUSER_INFO_3;

Membros

usri3_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. Para obter mais informações, consulte a seção Comentários a seguir.

usri3_password

Tipo: LPWSTR

Um ponteiro para uma cadeia de caracteres Unicode que especifica a senha do usuário identificado pelo membro usri3_name . O comprimento não pode exceder bytes PWLEN. As funções NetUserEnum e NetUserGetInfo retornam um ponteiro NULL para manter a segurança de senha.

Por convenção, o comprimento das senhas é limitado a LM20_PWLEN caracteres.

usri3_password_age

Tipo: DWORD

O número de segundos decorridos desde que o membro usri3_password foi alterado pela última vez. As funções NetUserAdd e NetUserSetInfo ignoram esse membro.

usri3_priv

Tipo: DWORD

O nível de privilégio atribuído ao membro usri3_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
USER_PRIV_GUEST
Convidado
USER_PRIV_USER
Usuário
USER_PRIV_ADMIN
Administrador

usri3_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 usri3_name . A cadeia de caracteres pode ser NULL.

usri3_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.

usri3_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
UF_SCRIPT
O script de logon executado. Esse valor deve ser definido.
UF_ACCOUNTDISABLE
A conta do usuário está desabilitada.
UF_HOMEDIR_REQUIRED
O diretório base é necessário. Este valor é ignorado.
UF_PASSWD_NOTREQD
Nenhuma senha é necessária.
UF_PASSWD_CANT_CHANGE
O usuário não pode alterar a senha.
UF_LOCKOUT
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.
UF_DONT_EXPIRE_PASSWD
A senha nunca deve expirar na conta.
UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED
A senha do usuário é armazenada em criptografia reversível no Active Directory.
UF_NOT_DELEGATED
Marca a conta como "confidencial"; outros usuários não podem atuar como representantes dessa conta de usuário.
UF_SMARTCARD_REQUIRED
Exige que o usuário faça logon na conta de usuário com uma cartão inteligente.
UF_USE_DES_KEY_ONLY
Restrinja essa entidade de segurança a usar apenas tipos de criptografia DES (Data Encryption Standard) para chaves.
UF_DONT_REQUIRE_PREAUTH
Essa conta não requer pré-autenticação Kerberos para logon.
UF_TRUSTED_FOR_DELEGATION
A conta está habilitada para delegação. Essa é uma configuração sensível à segurança; contas com essa opção habilitada devem ser fortemente 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.
UF_PASSWORD_EXPIRED
A senha do usuário expirou.

Windows 2000: Não há suporte para esse valor.

UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION
A conta é confiável para autenticar um usuário fora do pacote de segurança Kerberos e delegar esse usuário por meio de delegação restrita. Essa é uma configuração sensível à segurança; contas com essa opção habilitada devem ser fortemente 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: Não há suporte para esse valor.

 

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 .

Valor Significado
UF_NORMAL_ACCOUNT
Esse é um tipo de conta padrão que representa um usuário típico.
UF_TEMP_DUPLICATE_ACCOUNT
Essa é uma conta para usuários cuja conta primária está em outro domínio. Essa conta fornece acesso de usuário a esse domínio, mas não a qualquer domínio que confie nesse domínio. O Gerenciador de Usuários refere-se a esse tipo de conta como uma conta de usuário local.
UF_WORKSTATION_TRUST_ACCOUNT
Esta é uma conta de computador para um computador que é membro desse domínio.
UF_SERVER_TRUST_ACCOUNT
Essa é uma conta de computador para um controlador de domínio de backup que é membro desse domínio.
UF_INTERDOMAIN_TRUST_ACCOUNT
Essa é uma permissão para confiar em uma conta para um domínio que confia em outros domínios.

usri3_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.

usri3_auth_flags

Tipo: DWORD

Os privilégios do operador do usuário.

Para as funções NetUserGetInfo e NetUserEnum , 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.

Valor Significado
AF_OP_PRINT
O privilégio do operador de impressão está habilitado.
AF_OP_COMM
O privilégio do operador de comunicações está habilitado.
AF_OP_SERVER
O privilégio do operador de servidor está habilitado.
AF_OP_ACCOUNTS
O privilégio do operador de contas está habilitado.

usri3_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.

usri3_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.

usri3_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.

usri3_workstations

Tipo: LPWSTR

Importante

Você não deve mais usar usri3_workstations. Em vez disso, você pode controlar o acesso de entrada a 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 usri3_flags .

usri3_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.

usri3_last_logoff

Tipo: DWORD

No momento, esse membro não é usado.

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.

usri3_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.

usri3_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.

usri3_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 usri3_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.

usri3_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, das 0h às 0h59; 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 das 0:00 às 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 neste 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.

usri3_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.

usri3_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.

usri3_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 do 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 para o controlador de domínio.

Para servidores Windows, NetUserGetInfo e NetUserEnum retornam \*. As funções NetUserAdd e NetUserSetInfo ignoram esse membro.

usri3_country_code

Tipo: DWORD

O código de país/região para a linguagem de escolha do usuário.

usri3_code_page

Tipo: DWORD

A página de código para o idioma de escolha do usuário.

usri3_user_id

Tipo: DWORD

A ID relativa (RID) do usuário. O RID é determinado pelo SAM (Gerenciador de Contas de Segurança) quando o usuário é criado. Ele define exclusivamente a conta de usuário para SAM dentro do domínio. As funções NetUserAdd e NetUserSetInfo ignoram esse membro. Para obter mais informações sobre RIDs, consulte Componentes de SID.

usri3_primary_group_id

Tipo: DWORD

O RID 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.

usri3_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.

usri3_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.

usri3_password_expired

Tipo: DWORD

As informações de expiração da senha.

As funções NetUserGetInfo e NetUserEnum retornarão 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_3 pode ser usada com as funções NetUserAdd, NetUserEnum, 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 NetUserAdd, NetUserSetInfo e NetUserGetInfo no Windows XP e posterior.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho lmaccess.h (inclua Lm.h)

Confira também

NetUserAdd

NetUserEnum

NetUserGetInfo

NetUserSetInfo

Visão geral do gerenciamento de rede

Estruturas de gerenciamento de rede

Funções de usuário