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 |
---|---|
|
Convidado |
|
Usuário |
|
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 |
---|---|
|
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 representantes 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 a 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 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. |
|
A senha do usuário expirou.
Windows 2000: Não há suporte para esse valor. |
|
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 .
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.
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
Visão geral do gerenciamento de rede