Question
Tester si utilisateur courant present dans une OU
- Foucard
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 20
- Remerciements reçus 0
il y a 15 ans 3 mois #8685
par Foucard
Tester si utilisateur courant present dans une OU a été créé 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.
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.
- Jacques Barathon
- Hors Ligne
- Administrateur
-
Réduire
Plus d'informations
- Messages : 576
- Remerciements reçus 0
il y a 15 ans 3 mois #8686
par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Tester si utilisateur courant present dans une OU
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]
[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.
- Foucard
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 20
- Remerciements reçus 0
il y a 15 ans 3 mois #8695
par Foucard
Réponse de Foucard sur le sujet Re:Tester si utilisateur courant present dans une OU
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
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.
- Jacques Barathon
- Hors Ligne
- Administrateur
-
Réduire
Plus d'informations
- Messages : 576
- Remerciements reçus 0
il y a 15 ans 3 mois #8698
par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Tester si utilisateur courant present dans une OU
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.
[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.
- Foucard
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 20
- Remerciements reçus 0
il y a 15 ans 3 mois #8707
par Foucard
Réponse de Foucard sur le sujet Re:Tester si utilisateur courant present dans une OU
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
[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.
- Foucard
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 20
- Remerciements reçus 0
il y a 15 ans 3 mois #8708
par Foucard
Réponse de Foucard sur le sujet Re:Tester si utilisateur courant present dans une OU
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
[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.038 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Tester si utilisateur courant present dans une OU