structure USER_INFO_2 (lmaccess.h)

La structure de USER_INFO_2 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 et d’autres statistiques réseau liées à l’utilisateur.

Syntaxe

typedef struct _USER_INFO_2 {
  LPWSTR usri2_name;
  LPWSTR usri2_password;
  DWORD  usri2_password_age;
  DWORD  usri2_priv;
  LPWSTR usri2_home_dir;
  LPWSTR usri2_comment;
  DWORD  usri2_flags;
  LPWSTR usri2_script_path;
  DWORD  usri2_auth_flags;
  LPWSTR usri2_full_name;
  LPWSTR usri2_usr_comment;
  LPWSTR usri2_parms;
  LPWSTR usri2_workstations;
  DWORD  usri2_last_logon;
  DWORD  usri2_last_logoff;
  DWORD  usri2_acct_expires;
  DWORD  usri2_max_storage;
  DWORD  usri2_units_per_week;
  PBYTE  usri2_logon_hours;
  DWORD  usri2_bad_pw_count;
  DWORD  usri2_num_logons;
  LPWSTR usri2_logon_server;
  DWORD  usri2_country_code;
  DWORD  usri2_code_page;
} USER_INFO_2, *PUSER_INFO_2, *LPUSER_INFO_2;

Membres

usri2_name

Type : LPWSTR

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

usri2_password

Type : LPWSTR

Pointeur vers une chaîne Unicode qui spécifie le mot de passe de l’utilisateur identifié par le membre usri2_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.

usri2_password_age

Type : DWORD

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

usri2_priv

Type : DWORD

Niveau de privilège attribué au membre usri2_name . Pour les appels à la fonction NetUserAdd , ce membre doit être USER_PRIV_USER. Pour la fonction NetUserSetInfo , ce membre doit être la valeur retournée par la fonction NetUserGetInfo ou la fonction NetUserEnum . 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

usri2_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 usri2_name . La chaîne peut être NULL.

usri2_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 avoir un nombre quelconque de caractères avant le caractère null de fin.

usri2_flags

Type : DWORD

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

Notez que la définition des 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 Remarques 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 » ; d’autres utilisateurs ne peuvent pas agir en tant que délégués de ce compte d’utilisateur.
UF_SMARTCARD_REQUIRED
Exige 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 de supposer 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.

usri2_script_path

Type : LPWSTR

Pointeur vers une chaîne Unicode spécifiant le chemin 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 être NULL.

usri2_auth_flags

Type : DWORD

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

Les appels aux fonctions NetUserGetInfo et NetUserEnum retournent une valeur basée sur l’appartenance au groupe local de l’utilisateur. 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. Pour plus d’informations sur les droits de compte d’utilisateur et de groupe, consultez Privilèges.

Les restrictions suivantes s’appliquent :

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

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

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

usri2_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 les informations de configuration utilisateur. Ne modifiez pas ces informations.

usri2_workstations

Type : LPWSTR

Important

Vous ne devez plus utiliser usri2_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 utilisateur (Autoriser l’ouverture de session localement et Refuser l’ouverture de session localement ou Autoriser l’ouverture de session via les services Bureau à distance et Refuser l’ouverture de session 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. Une chaîne NULL indique qu’il n’existe aucune restriction. Pour désactiver les connexions de toutes les stations de travail à ce compte, définissez la valeur UF_ACCOUNTDISABLE dans le membre usri2_flags .

usri2_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 é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 dans le domaine. La dernière ouverture de session s’est produite à l’heure indiquée par la plus grande valeur récupérée.

usri2_last_logoff

Type : DWORD

Ce membre n’est actuellement pas utilisé.

Indique quand la dernière déconnexion s’est produite. Cette valeur est stockée sous la forme du nombre de secondes é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 dans le domaine. La dernière déconnexion s’est produite à l’heure indiquée par la plus grande valeur récupérée.

usri2_acct_expires

Type : DWORD

Date et heure d’expiration du compte. Cette valeur est stockée sous la forme du 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.

usri2_max_storage

Type : DWORD

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

usri2_units_per_week

Type : DWORD

Nombre d’unités de temps de durée é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 usri2_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.

usri2_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 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 du décalage de votre 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 ne doit être apportée aux heures pendant lesquelles l’utilisateur peut se connecter.

usri2_bad_pw_count

Type : DWORD

Nombre de fois que 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 conservé sur chaque contrôleur de domaine de sauvegarde (BDC) dans le domaine. Pour obtenir une valeur précise, vous devez interroger chaque BDC dans le domaine. Le nombre de fois où l’utilisateur a tenté de se connecter à l’aide d’un mot de passe incorrect est la valeur la plus élevée récupérée.

usri2_num_logons

Type : DWORD

Nombre de fois que 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 dans le domaine. Le nombre de fois que l’utilisateur s’est connecté avec succès correspond à la somme des valeurs récupérées.

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

usri2_country_code

Type : DWORD

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

usri2_code_page

Type : DWORD

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

Remarques

Pour plus d’informations sur les droits de compte d’utilisateur et de groupe, consultez Privilèges.

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.

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