USER_INFO_4 structure (lmaccess.h)
La structure USER_INFO_4 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, l’identificateur de sécurité (SID) et d’autres statistiques réseau liées à l’utilisateur.
Syntaxe
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;
Membres
usri4_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é.
usri4_password
Type : LPWSTR
Pointeur vers une chaîne Unicode qui spécifie le mot de passe de l’utilisateur identifié par le membre usri4_name . La longueur ne peut pas dépasser les octets PWLEN. La fonction NetUserGetInfo retourne 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.
usri4_password_age
Type : DWORD
Nombre de secondes écoulées depuis la dernière modification du membre usri4_password . Les fonctions NetUserAdd et NetUserSetInfo ignorent ce membre.
usri4_priv
Type : DWORD
Niveau de privilège attribué au membre usri4_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 |
usri4_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 usri4_name . La chaîne peut être NULL.
usri4_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.
usri4_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 est ignorée. |
|
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 est ignorée. |
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 .
usri4_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.
usri4_auth_flags
Type : DWORD
Privilèges d’opérateur de l’utilisateur.
Pour la fonction NetUserGetInfo , 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.
usri4_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.
usri4_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.
usri4_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.
usri4_workstations
Type : LPWSTR
Important
Vous ne devez plus utiliser usri4_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 usri4_flags .
usri4_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.
usri4_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.
usri4_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.
usri4_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.
usri4_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 usri4_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.
usri4_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.
usri4_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.
usri4_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.
usri4_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, la fonction NetUserGetInfo retourne \*.
Les fonctions NetUserAdd et NetUserSetInfo ignorent ce membre.
usri4_country_code
Type : DWORD
Code de pays/région de la langue de choix de l’utilisateur.
usri4_code_page
Type : DWORD
Page de codes de la langue de choix de l’utilisateur.
usri4_user_sid
Type : PSID
Pointeur vers une structure SID qui contient l’identificateur de sécurité (SID) qui identifie l’utilisateur de manière unique. Les fonctions NetUserAdd et NetUserSetInfo ignorent ce membre.
usri4_primary_group_id
Type : DWORD
Identificateur relatif (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 et composants SID connus.
usri4_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.
usri4_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.
usri4_password_expired
Type : DWORD
Informations d’expiration du mot de passe.
La fonction NetUserGetInfo retourne zéro si le mot de passe n’a pas expiré (et un mot de passe différent de 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_4 peut être utilisée avec les fonctions NetUserAdd, 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 au lieu de la structure USER_INFO_3 avec les fonctions ci-dessus sur Windows XP et versions ultérieures.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
En-tête | lmaccess.h (include Lm.h) |