module Win32::NetAdmin

Le
kiwi
Bonjour,

Les paramètres "passwordage", "privilege" et "flags" de la méthode
UserCreate me posent problème. En effet, je ne sais que mettre et je
ne vois pas la signification des valeurs entières que je pourrais leur
attribuer.

Exemple : Je cherche à indiquer que le mot d'un utilisateur créé avec
cette méthode n'expire jamais. Or, avec la valeur 1, aucune option
n'est cochée dans "options de compte" (fenêtre "Utilisateurs et
ordinateurs Active Directory").


Merci.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
jl_morel
Le #147018
Dans l'article a dit...

Bonjour,

Les paramètres "passwordage", "privilege" et "flags" de la méthode
UserCreate me posent problème. En effet, je ne sais que mettre et je
ne vois pas la signification des valeurs entières que je pourrais leur
attribuer.

Exemple : Je cherche à indiquer que le mot d'un utilisateur créé avec
cette méthode n'expire jamais. Or, avec la valeur 1, aucune option
n'est cochée dans "options de compte" (fenêtre "Utilisateurs et
ordinateurs Active Directory").



La doc du module Win32::NetAdmin est très succincte.
Le module définit des constantes pour privilege et flags (il faut regarder
dans NetAdmin.pm !!) La doc M$ peut aider.
Le module utilise la fonction NetUserAdd :
http://msdn2.microsoft.com/en-us/library/aa370649.aspx
avec la structure USER_INFO_1 :
http://msdn2.microsoft.com/en-us/library/aa371109.aspx

Voila un petit script démo qui ajoute un utilisateur Lambda sur la machine
locale :

#!/usr/bin/perl
use strict;
use warnings;
use Win32::NetAdmin qw/ :ALL USER_PRIV_USER
UF_NORMAL_ACCOUNT
UF_SCRIPT
UF_PASSWD_CANT_CHANGE
UF_DONT_EXPIRE_PASSWD /;

if ( UsersExist("", "Lambda") ) { #Test d'existence
print "Lambda existe déjàn";
# UserDelete("", "Lambda");
exit;
}
# Ajout utilisateur
UserCreate("", # server
"Lambda", # userName
"polichinel", # password
0, # passwordAge (inutile)
USER_PRIV_USER, # privilege
"", # homeDir
"Utilisateur bidon", # comment
UF_NORMAL_ACCOUNT |
UF_SCRIPT |
UF_PASSWD_CANT_CHANGE|
UF_DONT_EXPIRE_PASSWD, # flags
"" # scriptPath
)
or die $^E;

my %user; # Liste des utilisateurs
GetUsers("", 0, %user);
foreach (keys %user) {
print "$_ ==> $user{$_}n";
}

__END__

HTH

--
J-L.M.
http://www.bribes.org/perl

Publicité
Poster une réponse
Anonyme