Question Tester si utilisateur courant present dans une OU

Plus d'informations
il y a 15 ans 3 mois #8685 par Foucard
Bonjour,

Je cherche à savoir si l'utilisateur courant est present dans une UO (OU).

Je recupére l'utilsateur courant sous la forme de son login de connexion : prenom.nom

J'arrive à lire les utilsateurs dans une OU sous la forme :
LDAP://CN=NOM Prenom,OU=Utilisateurs,DC=toto,DC=loc

Je n'arrive pas à faire le test entre le login de connexion et la liste des utilisateurs d'une OU.

Merci pour votre aide.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 3 mois #8686 par Jacques Barathon
En supposant que par login de connexion tu entends bien le nom d'utilisateur avec lequel on ouvre une session Windows, tu peux vérifier s'il est présent dans ton OU ainsi :

[code:1]
# nom LDAP de l'OU :
$ou = \"LDAP://OU=Utilisateurs,DC=toto,DC=loc\"

# objet DirectorySearcher qui pointe sur l'OU :
$searcher = [adsisearcher]$ou

# filtre de recherche sur le Login de l'utilisateur (propriété samAccountName) :
$searcher.filter = \"(samAccountName=$login)\"

# lancement de la recherche :
$user = $searcher.FindOne()

# test du résultat :
if ($user)
{
\"$login est bien membre de l'OU\"
}
else
{
\"$login n'est pas membre de l'OU\"
}
[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 3 mois #8695 par Foucard
Merci pour ta reponse.

Quelque chose ne fonctionne pas car quelque soit la valeur de $OU, la reponse est :
prenom.nom est bien membre de l'OU\"


merci pour ton aide

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 3 mois #8698 par Jacques Barathon
Ah oui, petit oubli dans mon code :

[code:1]
$ou = [ADSI]\"LDAP://OU=Utilisateurs,DC=toto,DC=loc\"

# le reste est inchangé
[/code:1]

Le préfixe [ADSI] affecte à $ou l'objet AD et non pas simplement la chaîne de caractères. Du coup, $searcher pointe bien sur l'OU comme base de recherche.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 3 mois #8707 par Foucard
J'ai modifié le code de cette façon :

[code:1]
# test du résultat :
if ($user.Count -gt 0)
{
\"$login est bien membre de l'OU\"
}
else
{
\"$login n'est pas membre de l'OU\"
}
[/code:1]

Cela fonctionne.
Merci pout ton aide

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 3 mois #8708 par Foucard
J'ai modifié le code de cette façon :

[code:1]
# test du résultat :
if ($user.Count -gt 0)
{
\"$login est bien membre de l'OU\"
}
else
{
\"$login n'est pas membre de l'OU\"
}
[/code:1]

Cela fonctionne.
Merci pout ton aide

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.037 secondes
Propulsé par Kunena