USER_INFO_3 structure (lmaccess.h)

La structure USER_INFO_3 contient des informations sur un compte d’utilisateur, notamment le nom du compte, les données de mot de passe, le niveau de privilège, le chemin d’accès au répertoire de base de l’utilisateur, les identificateurs relatifs (RID) et d’autres statistiques réseau liées à l’utilisateur.

Syntaxe

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;

Membres

usri3_name

Type : LPWSTR

Pointeur vers une chaîne Unicode qui spécifie le nom du compte d’utilisateur. Pour la fonction NetUserSetInfo , ce membre est ignoré. Pour plus d'informations, consultez la section Notes qui suit.

usri3_password

Type : LPWSTR

Pointeur vers une chaîne Unicode qui spécifie le mot de passe de l’utilisateur identifié par le membre usri3_name . La longueur ne peut pas dépasser les octets PWLEN. Les fonctions NetUserEnum et NetUserGetInfo retournent un pointeur NULL pour maintenir la sécurité du mot de passe.

Par convention, la longueur des mots de passe est limitée à LM20_PWLEN caractères.

usri3_password_age

Type : DWORD

Nombre de secondes écoulées depuis la dernière modification du membre usri3_password . Les fonctions NetUserAdd et NetUserSetInfo ignorent ce membre.

usri3_priv

Type : DWORD

Niveau de privilège affecté au membre usri3_name . Les fonctions NetUserAdd et NetUserSetInfo ignorent ce membre. Ce membre peut être l’une des valeurs suivantes. Pour plus d’informations sur les droits de compte d’utilisateur et de groupe, consultez Privilèges.

Valeur Signification
USER_PRIV_GUEST
Invité
USER_PRIV_USER
Utilisateur
USER_PRIV_ADMIN
Administrateur

usri3_home_dir

Type : LPWSTR

Pointeur vers une chaîne Unicode spécifiant le chemin du répertoire de base de l’utilisateur spécifié par le membre usri3_name . La chaîne peut être NULL.

usri3_comment

Type : LPWSTR

Pointeur vers une chaîne Unicode qui contient un commentaire à associer au compte d’utilisateur. La chaîne peut être une chaîne NULL ou contenir n’importe quel nombre de caractères avant le caractère null de fin.

usri3_flags

Type : DWORD

Ce membre peut être une ou plusieurs des valeurs suivantes.

Notez que la définition d’indicateurs de contrôle de compte d’utilisateur peut nécessiter certains privilèges et droits d’accès de contrôle. Pour plus d’informations, consultez la section Notes de la fonction NetUserSetInfo .

Valeur Signification
UF_SCRIPT
Script d’ouverture de session exécuté. Cette valeur doit être définie.
UF_ACCOUNTDISABLE
Le compte de l’utilisateur est désactivé.
UF_HOMEDIR_REQUIRED
Le répertoire de base est obligatoire. Cette valeur est ignorée.
UF_PASSWD_NOTREQD
Aucun mot de passe n'est requis.
UF_PASSWD_CANT_CHANGE
L’utilisateur ne peut pas modifier le mot de passe.
UF_LOCKOUT
Le compte est actuellement verrouillé. Vous pouvez appeler la fonction NetUserSetInfo pour effacer cette valeur et déverrouiller un compte précédemment verrouillé. Vous ne pouvez pas utiliser cette valeur pour verrouiller un compte précédemment déverrouillé.
UF_DONT_EXPIRE_PASSWD
Le mot de passe ne doit jamais expirer sur le compte.
UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED
Le mot de passe de l’utilisateur est stocké sous chiffrement réversible dans Active Directory.
UF_NOT_DELEGATED
Marque le compte comme « sensible » ; les autres utilisateurs ne peuvent pas agir en tant que délégués de ce compte d’utilisateur.
UF_SMARTCARD_REQUIRED
Nécessite que l’utilisateur se connecte au compte d’utilisateur avec un carte intelligent.
UF_USE_DES_KEY_ONLY
Limitez ce principal à utiliser uniquement les types de chiffrement DES (Data Encryption Standard) pour les clés.
UF_DONT_REQUIRE_PREAUTH
Ce compte ne nécessite pas de pré-authentification Kerberos pour l’ouverture de session.
UF_TRUSTED_FOR_DELEGATION
Le compte est activé pour la délégation. Il s’agit d’un paramètre sensible à la sécurité ; les comptes avec cette option activée doivent être étroitement contrôlés. Ce paramètre permet à un service exécuté sous le compte d’assumer l’identité d’un client et de s’authentifier en tant qu’utilisateur auprès d’autres serveurs distants sur le réseau.
UF_PASSWORD_EXPIRED
Le mot de passe de l’utilisateur a expiré.

Windows 2000 : Cette valeur n’est pas prise en charge.

UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION
Le compte est approuvé pour authentifier un utilisateur en dehors du package de sécurité Kerberos et le déléguer par le biais d’une délégation contrainte. Il s’agit d’un paramètre sensible à la sécurité ; les comptes avec cette option activée doivent être étroitement contrôlés. Ce paramètre permet à un service exécuté sous le compte d’affirmer l’identité d’un client et de s’authentifier en tant qu’utilisateur auprès de services spécifiquement configurés sur le réseau.

Windows XP/2000 : Cette valeur n’est pas prise en charge.

 

Les valeurs suivantes décrivent le type de compte. Une seule valeur peut être définie. Vous ne pouvez pas modifier le type de compte à l’aide de la fonction NetUserSetInfo .

Valeur Signification
UF_NORMAL_ACCOUNT
Il s’agit d’un type de compte par défaut qui représente un utilisateur standard.
UF_TEMP_DUPLICATE_ACCOUNT
Il s’agit d’un compte pour les utilisateurs dont le compte principal se trouve dans un autre domaine. Ce compte fournit à l’utilisateur l’accès à ce domaine, mais pas à tout domaine qui approuve ce domaine. Le Gestionnaire d’utilisateurs fait référence à ce type de compte en tant que compte d’utilisateur local.
UF_WORKSTATION_TRUST_ACCOUNT
Il s’agit d’un compte d’ordinateur pour un ordinateur membre de ce domaine.
UF_SERVER_TRUST_ACCOUNT
Il s’agit d’un compte d’ordinateur pour un contrôleur de domaine de sauvegarde membre de ce domaine.
UF_INTERDOMAIN_TRUST_ACCOUNT
Il s’agit d’une autorisation de compte d’approbation pour un domaine qui approuve d’autres domaines.

usri3_script_path

Type : LPWSTR

Pointeur vers une chaîne Unicode spécifiant le chemin d’accès du fichier de script d’ouverture de session de l’utilisateur. Le fichier de script peut être un . Fichier CMD, fichier .EXE ou fichier .BAT. La chaîne peut également avoir la valeur NULL.

usri3_auth_flags

Type : DWORD

Privilèges d’opérateur de l’utilisateur.

Pour les fonctions NetUserGetInfo et NetUserEnum , la valeur appropriée est retournée en fonction de l’appartenance au groupe local. Si l’utilisateur est membre des opérateurs d’impression, AF_OP_PRINT est défini. Si l’utilisateur est membre des opérateurs de serveur, AF_OP_SERVER est défini. Si l’utilisateur est membre des opérateurs de compte, AF_OP_ACCOUNTS est défini. AF_OP_COMM n’est jamais défini.

Les fonctions NetUserAdd et NetUserSetInfo ignorent ce membre.

Ce membre peut être une ou plusieurs des valeurs suivantes.

Valeur Signification
AF_OP_PRINT
Le privilège de l’opérateur d’impression est activé.
AF_OP_COMM
Le privilège de l’opérateur de communication est activé.
AF_OP_SERVER
Le privilège de l’opérateur de serveur est activé.
AF_OP_ACCOUNTS
Le privilège de l’opérateur de comptes est activé.

usri3_full_name

Type : LPWSTR

Pointeur vers une chaîne Unicode qui contient le nom complet de l’utilisateur. Cette chaîne peut être une chaîne NULL ou avoir un nombre quelconque de caractères avant le caractère null de fin.

usri3_usr_comment

Type : LPWSTR

Pointeur vers une chaîne Unicode qui contient un commentaire utilisateur. Cette chaîne peut être une chaîne NULL ou avoir un nombre quelconque de caractères avant le caractère null de fin.

usri3_parms

Type : LPWSTR

Pointeur vers une chaîne Unicode réservée aux applications. Cette chaîne peut être une chaîne NULL ou avoir un nombre quelconque de caractères avant le caractère null de fin. Les produits Microsoft utilisent ce membre pour stocker des informations de configuration utilisateur. Ne modifiez pas ces informations.

usri3_workstations

Type : LPWSTR

Important

Vous ne devez plus utiliser usri3_workstations. Au lieu de cela, vous pouvez contrôler l’accès de connexion aux stations de travail en configurant les paramètres d’attribution des droits de l’utilisateur (Autoriser l’ouverture de session localement et refuser la connexion localement, ou Autoriser la connexion via les services Bureau à distance et Refuser la connexion via les services Bureau à distance).

Pointeur vers une chaîne Unicode qui contient les noms des stations de travail à partir desquelles l’utilisateur peut se connecter. Huit stations de travail peuvent être spécifiées ; les noms doivent être séparés par des virgules. Si vous ne souhaitez pas limiter le nombre de stations de travail, utilisez une chaîne NULL . Pour désactiver les connexions de toutes les stations de travail à ce compte, définissez la valeur UF_ACCOUNTDISABLE dans le membre usri3_flags .

usri3_last_logon

Type : DWORD

Date et heure de la dernière ouverture de session. Cette valeur est stockée sous la forme du nombre de secondes qui se sont écoulées depuis 00 :00 :00, le 1er janvier 1970, GMT. Ce membre est ignoré par les fonctions NetUserAdd et NetUserSetInfo .

Ce membre est géré séparément sur chaque contrôleur de domaine de sauvegarde (BDC) du domaine. Pour obtenir une valeur précise, vous devez interroger chaque BDC du domaine. La dernière ouverture de session s’est produite à l’heure indiquée par la plus grande valeur récupérée.

usri3_last_logoff

Type : DWORD

Ce membre n’est actuellement pas utilisé.

Date et heure de la dernière déconnexion. Cette valeur est stockée sous la forme du nombre de secondes qui se sont écoulées depuis 00 :00 :00, le 1er janvier 1970, GMT. La valeur zéro indique que l’heure de la dernière déconnexion est inconnue.

Ce membre est géré séparément sur chaque contrôleur de domaine de sauvegarde (BDC) du domaine. Pour obtenir une valeur précise, vous devez interroger chaque BDC du domaine. La dernière déconnexion s’est produite à l’heure indiquée par la plus grande valeur récupérée.

usri3_acct_expires

Type : DWORD

Date et heure d’expiration du compte. Cette valeur est stockée comme le nombre de secondes écoulées depuis 00 :00 :00, le 1er janvier 1970, GMT. La valeur TIMEQ_FOREVER indique que le compte n’expire jamais.

usri3_max_storage

Type : DWORD

Quantité maximale d’espace disque que l’utilisateur peut utiliser. Spécifiez USER_MAXSTORAGE_UNLIMITED pour utiliser tout l’espace disque disponible.

usri3_units_per_week

Type : DWORD

Nombre d’unités de temps de longueur égale dans lesquelles la semaine est divisée. Cette valeur est nécessaire pour calculer la longueur de la chaîne de bits dans le membre usri3_logon_hours .

Cette valeur doit être UNITS_PER_WEEK pour LAN Manager 2.0. Cet élément est ignoré par les fonctions NetUserAdd et NetUserSetInfo .

Pour les applications de service, les unités doivent être l’une des valeurs suivantes : SAM_DAYS_PER_WEEK, SAM_HOURS_PER_WEEK ou SAM_MINUTES_PER_WEEK.

usri3_logon_hours

Type : PBYTE

Pointeur vers une chaîne de bits de 21 octets (168 bits) qui spécifie les heures pendant lesquelles l’utilisateur peut se connecter. Chaque bit représente une heure unique dans la semaine, en heure moyenne de Greenwich (GMT).

Le premier bit (bit 0, mot 0) est dimanche, de 0 :00 à 0 :59 ; le deuxième bit (bit 1, mot 0) est dimanche, de 1 :00 à 1 :59 ; et ainsi de suite. Notez que le bit 0 dans le mot 0 représente le dimanche de 0 :00 à 0 :59 uniquement si vous êtes dans le fuseau horaire GMT. Dans tous les autres cas, vous devez ajuster les bits en fonction de votre décalage de fuseau horaire (par exemple, GMT moins 8 heures pour l’heure standard du Pacifique).

Spécifiez un pointeur NULL dans ce membre lors de l’appel de la fonction NetUserAdd pour indiquer aucune restriction de temps. Spécifiez un pointeur NULL lors de l’appel de la fonction NetUserSetInfo pour indiquer qu’aucune modification n’est apportée aux heures pendant lesquelles l’utilisateur peut se connecter.

usri3_bad_pw_count

Type : DWORD

Nombre de fois où l’utilisateur a tenté de se connecter au compte à l’aide d’un mot de passe incorrect. La valeur – 1 indique que la valeur est inconnue. Les appels aux fonctions NetUserAdd et NetUserSetInfo ignorent ce membre.

Ce membre est répliqué à partir du contrôleur de domaine principal (PDC) ; il est également géré sur chaque contrôleur de domaine de sauvegarde (BDC) du domaine. Pour obtenir une valeur précise, vous devez interroger chaque BDC du domaine. Le nombre de fois où l’utilisateur a tenté de se connecter à l’aide d’un mot de passe incorrect est la plus grande valeur récupérée.

usri3_num_logons

Type : DWORD

Nombre de fois où l’utilisateur s’est connecté avec succès à ce compte. La valeur – 1 indique que la valeur est inconnue. Les appels aux fonctions NetUserAdd et NetUserSetInfo ignorent ce membre.

Ce membre est géré séparément sur chaque contrôleur de domaine de sauvegarde (BDC) du domaine. Pour obtenir une valeur précise, vous devez interroger chaque BDC du domaine. Le nombre de fois où l’utilisateur s’est connecté avec succès est la somme des valeurs récupérées.

usri3_logon_server

Type : LPWSTR

Pointeur vers une chaîne Unicode qui contient le nom du serveur auquel les demandes d’ouverture de session sont envoyées. Les noms de serveur doivent être précédés de deux barres obliques inverses (\). Pour indiquer que la demande d’ouverture de session peut être gérée par n’importe quel serveur d’ouverture de session, spécifiez un astérisque (\*) pour le nom du serveur. Une chaîne NULL indique que les demandes doivent être envoyées au contrôleur de domaine.

Pour les serveurs Windows, NetUserGetInfo et NetUserEnum retournent \*. Les fonctions NetUserAdd et NetUserSetInfo ignorent ce membre.

usri3_country_code

Type : DWORD

Code du pays/de la région de la langue de choix de l’utilisateur.

usri3_code_page

Type : DWORD

Page de codes de la langue de choix de l’utilisateur.

usri3_user_id

Type : DWORD

ID relatif (RID) de l’utilisateur. Le RID est déterminé par le gestionnaire de compte de sécurité (SAM) lors de la création de l’utilisateur. Il définit de manière unique le compte d’utilisateur sur SAM dans le domaine. Les fonctions NetUserAdd et NetUserSetInfo ignorent ce membre. Pour plus d’informations sur les RID, consultez Composants SID.

usri3_primary_group_id

Type : DWORD

RID du groupe global principal pour l’utilisateur. Lorsque vous appelez la fonction NetUserAdd , ce membre doit être DOMAIN_GROUP_RID_USERS (défini dans WinNT.h). Lorsque vous appelez NetUserSetInfo, ce membre doit être le RID d’un groupe global dans lequel l’utilisateur est inscrit. Pour plus d’informations, consultez Sids connus.

usri3_profile

Type : LPWSTR

Pointeur vers une chaîne Unicode qui spécifie un chemin d’accès au profil de l’utilisateur. Cette valeur peut être une chaîne NULL , un chemin absolu local ou un chemin UNC.

usri3_home_dir_drive

Type : LPWSTR

Pointeur vers une chaîne Unicode qui spécifie la lettre de lecteur affectée au répertoire de base de l’utilisateur à des fins d’ouverture de session.

usri3_password_expired

Type : DWORD

Informations d’expiration du mot de passe.

Les fonctions NetUserGetInfo et NetUserEnum retournent zéro si le mot de passe n’a pas expiré (et non zéro si c’est le cas).

Lorsque vous appelez NetUserAdd ou NetUserSetInfo, spécifiez une valeur différente de zéro dans ce membre pour informer les utilisateurs qu’ils doivent modifier leur mot de passe à la prochaine ouverture de session. Pour désactiver ce message, appelez NetUserSetInfo et spécifiez zéro dans ce membre. Notez que vous ne pouvez pas spécifier zéro pour annuler l’expiration d’un mot de passe qui a déjà expiré.

Remarques

La structure USER_INFO_3 peut être utilisée avec les fonctions NetUserAdd, NetUserEnum, NetUserSetInfo et NetUserGetInfo .

Les noms de compte d’utilisateur sont limités à 20 caractères et les noms de groupe à 256 caractères. En outre, les noms de comptes ne peuvent pas être arrêtés par un point et ils ne peuvent pas inclure de virgules ou d’un des caractères imprimables suivants : « , /, , , [, ], :, |, <, , >+, =, ?, *. Les noms ne peuvent pas non plus inclure de caractères dans la plage 1 à 31, qui ne sont pas imprimables.

Notez que la structure USER_INFO_4 remplace la structure USER_INFO_3 sur Windows XP et versions ultérieures. Il est recommandé que les applications utilisent la structure USER_INFO_4 plutôt que la structure USER_INFO_3 avec les fonctions NetUserAdd, NetUserSetInfo et NetUserGetInfo sur Windows XP et versions ultérieures.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
En-tête lmaccess.h (include Lm.h)

Voir aussi

NetUserAdd

NetUserEnum

NetUserGetInfo

NetUserSetInfo

Vue d’ensemble de la gestion du réseau

Structures de gestion réseau

Fonctions utilisateur