Question Active Dyrectory Recherche et filtrage attributs
- damienb
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 16 ans 7 mois #915
par damienb
Active Dyrectory Recherche et filtrage attributs a été créé par damienb
Bonjour à tous,
Mon objectif est de récupéré 3 attributs de mon objet utilisateurs a partir de la valeur de l'attribut \"samaccountname\".
Ma requête fonctionne mais le traitement concernant la recherche est long.
La variable $UserAdObjList contient tous mes objets utilisateurs avec tous les attributs liés à l'objet. Afin d'optimiser les perf de ma recherche je voudrais filtrer seulement les attributs qui m'intéressent existe t'il une méthode qui permet de récupérer dans la variable $UserAdObjList seulement les 3 attributs qui m'intéressent?
Damien
Code:
++++++++++++++++++++++++++++++++++++++++++++++++++++
Function SearchDNObject
{
param([string]$DomaineName,$adObjList, $UserID)
$NullValue = \"null\"
$i=0
foreach ($person in $adObjList)
{
$i++
if ($($person.properties.samaccountname) -eq $($UserID))
{
return $($person.properties.distinguishedname)
break
}
}
return $NullValue
}
#Main
$selector = New-Object DirectoryServices.DirectorySearcher $DomaineName
$selector.Filter = \"(&(objectCategory=CN=Person,CN=Schema,CN=Configuration,DC=powershell,DC=com))\"
$selector.pagesize = 10000
$selector.SearchRoot = $root
$selector.SearchScope = \"subtree\"
#Stocker les objets utilisateurs dans une variable
$UserAdObjList = $selector.FindAll()
$DnUserFound = SearchDNObject $DomaineName $UserAdObjList \"toto\"
Mon objectif est de récupéré 3 attributs de mon objet utilisateurs a partir de la valeur de l'attribut \"samaccountname\".
Ma requête fonctionne mais le traitement concernant la recherche est long.
La variable $UserAdObjList contient tous mes objets utilisateurs avec tous les attributs liés à l'objet. Afin d'optimiser les perf de ma recherche je voudrais filtrer seulement les attributs qui m'intéressent existe t'il une méthode qui permet de récupérer dans la variable $UserAdObjList seulement les 3 attributs qui m'intéressent?
Damien
Code:
++++++++++++++++++++++++++++++++++++++++++++++++++++
Function SearchDNObject
{
param([string]$DomaineName,$adObjList, $UserID)
$NullValue = \"null\"
$i=0
foreach ($person in $adObjList)
{
$i++
if ($($person.properties.samaccountname) -eq $($UserID))
{
return $($person.properties.distinguishedname)
break
}
}
return $NullValue
}
#Main
$selector = New-Object DirectoryServices.DirectorySearcher $DomaineName
$selector.Filter = \"(&(objectCategory=CN=Person,CN=Schema,CN=Configuration,DC=powershell,DC=com))\"
$selector.pagesize = 10000
$selector.SearchRoot = $root
$selector.SearchScope = \"subtree\"
#Stocker les objets utilisateurs dans une variable
$UserAdObjList = $selector.FindAll()
$DnUserFound = SearchDNObject $DomaineName $UserAdObjList \"toto\"
Connexion ou Créer un compte pour participer à la conversation.
- damienb
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 16 ans 7 mois #916
par damienb
Réponse de damienb sur le sujet Re:Active Dyrectory Recherche et filtrage attribut
Pourquoi ne pas faire simple...
[code:1]$UserID = \"toto\"
$Root = [ADSI]''
$searcher = new-object System.DirectoryServices.DirectorySearcher($root)
$searcher.Filter=\"(&(objectCategory=CN=Person,CN=Schema,CN=Configuration,DC=powershell,DC=com)'
(sAMAccountName=$UserID))\"
$searcher.PropertiesToLoad.Add(\"distinguishedname\"«»)
$searcher.PropertiesToLoad.Add(\"name\"«»)
$searcher.PropertiesToLoad.Add(\"sn\"«»)
$requete_ad = $searcher.findone()
$name=$requete_ad.properties.name
$name[/code:1]
Damien
[code:1]$UserID = \"toto\"
$Root = [ADSI]''
$searcher = new-object System.DirectoryServices.DirectorySearcher($root)
$searcher.Filter=\"(&(objectCategory=CN=Person,CN=Schema,CN=Configuration,DC=powershell,DC=com)'
(sAMAccountName=$UserID))\"
$searcher.PropertiesToLoad.Add(\"distinguishedname\"«»)
$searcher.PropertiesToLoad.Add(\"name\"«»)
$searcher.PropertiesToLoad.Add(\"sn\"«»)
$requete_ad = $searcher.findone()
$name=$requete_ad.properties.name
$name[/code:1]
Damien
Connexion ou Créer un compte pour participer à la conversation.
- steph_d
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 65
- Remerciements reçus 0
il y a 15 ans 5 mois #3147
par steph_d
@+ Steph
Réponse de steph_d sur le sujet Re:Active Dyrectory Recherche et filtrage attribut
Salut
Ton PropertiesToLoad.Add[], c'est merveilleux
Merci
Stephane
Ton PropertiesToLoad.Add[], c'est merveilleux
Merci
Stephane
@+ Steph
Connexion ou Créer un compte pour participer à la conversation.
- david
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 59
- Remerciements reçus 0
il y a 15 ans 4 mois #3463
par david
Réponse de david sur le sujet Re:Active Dyrectory Recherche et filtrage attribut
Bonjour,
J'ai essayé de faire la même chose en adaptant à mon domaine. Je ne vois pas trop à quoi correspondre les 3 CN.Quelqu'un peut il m'expliquer un peu ce script? Merci
J'ai essayé de faire la même chose en adaptant à mon domaine. Je ne vois pas trop à quoi correspondre les 3 CN.Quelqu'un peut il m'expliquer un peu ce script? Merci
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.068 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les initiés
- Active Dyrectory Recherche et filtrage attributs