NetGroupSetInfo, fonction (lmaccess.h)
La fonction NetGroupSetInfo définit les paramètres d’un groupe global dans la base de données de sécurité, qui est la base de données du gestionnaire de comptes de sécurité (SAM) ou, dans le cas des contrôleurs de domaine, Active Directory.
Syntaxe
NET_API_STATUS NET_API_FUNCTION NetGroupSetInfo(
[in] LPCWSTR servername,
[in] LPCWSTR groupname,
[in] DWORD level,
[in] LPBYTE buf,
[out] LPDWORD parm_err
);
Paramètres
[in] servername
Pointeur vers une chaîne constante qui spécifie le nom DNS ou NetBIOS du serveur distant sur lequel la fonction doit s’exécuter. Si ce paramètre a la valeur NULL, l’ordinateur local est utilisé.
[in] groupname
Pointeur vers une chaîne constante qui spécifie le nom du groupe global pour lequel définir des informations. Pour plus d'informations, consultez la section Notes qui suit.
[in] level
Spécifie le niveau d’informations des données. Ce paramètre peut prendre les valeurs suivantes.
Valeur | Signification |
---|---|
|
Spécifie un nom de groupe global. Le paramètre buf pointe vers une structure GROUP_INFO_0 . |
|
Spécifie un nom de groupe global et un commentaire. Le paramètre buf pointe vers une structure GROUP_INFO_1 . |
|
Spécifie des informations détaillées sur le groupe global. Le paramètre buf pointe vers une structure GROUP_INFO_2 . Notez que sur Windows XP et versions ultérieures, il est recommandé d’utiliser GROUP_INFO_3 à la place. |
|
Spécifie des informations détaillées sur le groupe global. Le paramètre buf pointe vers une structure GROUP_INFO_3 .
Windows 2000 : Ce niveau n’est pas pris en charge. |
|
Spécifie un commentaire uniquement sur le groupe global. Le paramètre buf pointe vers une structure GROUP_INFO_1002 . |
|
Spécifie les attributs de groupe global. Le paramètre buf pointe vers une structure GROUP_INFO_1005 . |
Pour plus d'informations, consultez la section Notes qui suit.
[in] buf
Pointeur vers une mémoire tampon qui contient les données. Le format de ces données dépend de la valeur du paramètre de niveau . Pour plus d’informations, consultez Mémoires tampons de fonction de gestion réseau.
[out] parm_err
Pointeur vers une valeur qui reçoit l’index du premier membre de la structure d’informations de groupe dans une erreur suivant un code d’erreur ERROR_INVALID_PARAMETER. Si ce paramètre a la valeur NULL, l’index n’est pas retourné en cas d’erreur. Pour plus d'informations, consultez la section Notes qui suit.
Valeur retournée
Si la fonction réussit, la valeur de retour est NERR_Success.
Si la fonction échoue, la valeur de retour peut être l’un des codes d’erreur suivants.
Code de retour | Description |
---|---|
|
L’utilisateur n’a pas accès aux informations demandées. |
|
L’un des paramètres de fonction n’est pas valide. Pour plus d'informations, consultez la section Notes qui suit. |
|
Le nom d'ordinateur est non valide. |
|
L’opération est autorisée uniquement sur le contrôleur de domaine principal du domaine. |
|
Le nom du groupe global est introuvable. |
|
L’opération n’est pas autorisée sur certains groupes spéciaux. Ces groupes incluent des groupes d’utilisateurs, des groupes d’administration, des groupes locaux et des groupes invités. |
Remarques
Si vous programmez pour Active Directory, vous pouvez peut-être appeler certaines méthodes ADSI (Active Directory Service Interface) pour obtenir les mêmes fonctionnalités que celles que vous pouvez obtenir en appelant les fonctions de groupe d’administration réseau. Pour plus d’informations, consultez IADsGroup.
Si vous appelez cette fonction sur un contrôleur de domaine qui exécute Active Directory, l’accès est autorisé ou refusé en fonction de la liste de contrôle d’accès (ACL) de l’objet sécurisable. La liste de contrôle d’accès par défaut autorise uniquement les administrateurs de domaine et les opérateurs de compte à appeler cette fonction. Sur un serveur membre ou une station de travail, seuls les administrateurs et les utilisateurs avec pouvoir peuvent appeler cette fonction. Pour plus d’informations, consultez Exigences de sécurité pour les fonctions de gestion réseau. Pour plus d’informations sur les listes de contrôle d’accès, les ACL et les jetons d’accès, consultez Access Control Modèle.
Le descripteur de sécurité de l’objet Group est utilisé pour effectuer l’case activée d’accès pour cette fonction. En règle générale, les appelants doivent disposer d’un accès en écriture à l’objet entier pour que les appels à cette fonction réussissent.
La bonne façon de définir le nouveau nom d’un groupe global consiste à appeler la fonction NetGroupSetInfo à l’aide d’une structure GROUP_INFO_0 . Spécifiez la nouvelle valeur dans le membre grpi0_name . Si vous utilisez une structure GROUP_INFO_1 et que vous spécifiez la valeur dans le membre grpi1_name , la nouvelle valeur de nom est ignorée.
Si la fonction NetGroupSetInfo retourne ERROR_INVALID_PARAMETER, vous pouvez utiliser le paramètre parm_err pour indiquer le premier membre de la structure d’informations de groupe non valide. (Une structure d’informations de groupe commence par GROUP_INFO_ et son format est spécifié par le paramètre level .) Le tableau suivant répertorie les valeurs qui peuvent être retournées dans le paramètre parm_err et le membre de structure correspondant qui est en erreur. (Le préfixe grpi*_ indique que le membre peut commencer par plusieurs préfixes, par exemple, grpi1_ ou grpi2_.)
Valeur | Membre |
---|---|
GROUP_NAME_PARMNUM | grpi*_name |
GROUP_COMMENT_PARMNUM | grpi*_comment |
GROUP_ATTRIBUTES_PARMNUM | grpi*_attributes |
Les noms de compte d’utilisateur sont limités à 20 caractères et les noms de groupes sont limités à 256 caractères. En outre, les noms de compte ne peuvent pas être terminés par un point et ils ne peuvent pas inclure de virgules ou d’aucun des caractères imprimables suivants : « , /, , , [, ], :, |, <, , >+, =, ;, ?, *. Les noms ne peuvent pas non plus inclure des caractères de 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] |
Plateforme cible | Windows |
En-tête | lmaccess.h (include Lm.h) |
Bibliothèque | Netapi32.lib |
DLL | Netapi32.dll |