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 |
---|---|
|
Invité |
|
Utilisateur |
|
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 |
---|---|
|
Script d’ouverture de session exécuté. Cette valeur doit être définie. |
|
Le compte de l’utilisateur est désactivé. |
|
Le répertoire de base est obligatoire. Cette valeur est ignorée. |
|
Aucun mot de passe n'est requis. |
|
L’utilisateur ne peut pas modifier le mot de passe. |
|
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é. |
|
Le mot de passe ne doit jamais expirer sur le compte. |
|
Le mot de passe de l’utilisateur est stocké sous chiffrement réversible dans Active Directory. |
|
Marque le compte comme « sensible » ; les autres utilisateurs ne peuvent pas agir en tant que délégués de ce compte d’utilisateur. |
|
Nécessite que l’utilisateur se connecte au compte d’utilisateur avec un carte intelligent. |
|
Limitez ce principal à utiliser uniquement les types de chiffrement DES (Data Encryption Standard) pour les clés. |
|
Ce compte ne nécessite pas de pré-authentification Kerberos pour l’ouverture de session. |
|
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. |
|
Le mot de passe de l’utilisateur a expiré.
Windows 2000 : Cette valeur n’est pas prise en charge. |
|
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 .
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.
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) |