Question Active Directory : boucle Foreach
- Robin Lemesle
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 260
- Remerciements reçus 0
il y a 16 ans 2 mois #728
par Robin Lemesle
Robin MVP PowerShell
Réponse de Robin Lemesle sur le sujet Re:Active Directory
Je n'ai pas AD sous la main là, mais lorsque tu fais [code:1]$objMembers[/code:1]
tu as bien la liste de tes membres ?
tu peux aussi changer la valeur de $erroractionpreference de façon à mieux voir les erreurs.
Rob
tu as bien la liste de tes membres ?
tu peux aussi changer la valeur de $erroractionpreference de façon à mieux voir les erreurs.
Rob
Robin MVP PowerShell
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 16 ans 2 mois #729
par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Active Directory
Gaby, peux-tu également partager le code que tu utilises pour la fonction ou le script List-UserG? Cela nous permettrait d'essayer de reproduire le problème et mieux t'aider à le résoudre.
Janel
Janel
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 16 ans 2 mois #730
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ou d'un conseil ?
Réponse de Arnaud Petitjean sur le sujet Re:Active Directory
Bonjour Gaby,
Le problème c'est qu'en mode [code:1]$erroractionpreference = \"SilentlyContinue\"[/code:1] tu ne peux pas voir les erreurs. Je te conseilles, tant que tu es dans la phase de mise au point de ton script, de rester en mode \"continue\" par défaut.
Donc, déjà en affichant les messages tu auras plus de chances de comprendre ce qui ne va pas (et nous aussi en même temps
)
Arnaud
Le problème c'est qu'en mode [code:1]$erroractionpreference = \"SilentlyContinue\"[/code:1] tu ne peux pas voir les erreurs. Je te conseilles, tant que tu es dans la phase de mise au point de ton script, de rester en mode \"continue\" par défaut.
Donc, déjà en affichant les messages tu auras plus de chances de comprendre ce qui ne va pas (et nous aussi en même temps

Arnaud
MVP PowerShell et créateur de ce magnifique forum

Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ou d'un conseil ?
Connexion ou Créer un compte pour participer à la conversation.
- Berfini
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 86
- Remerciements reçus 0
il y a 16 ans 2 mois #731
par Berfini
Gaby
Réponse de Berfini sur le sujet Re:Active Directory
Voici ma fonction :
[code:1]
Function List-UserG ([string] $path) # liste les utilisateurs d'un groupe
{
if (! $path)
{
throw \"Vous devez spécifier le chemin d'acces de l`'OU.\"
}
else
{
$groupe = ([ADSI] $path)
return $groupe.member
}
}[/code:1]
[code:1]
Function List-UserG ([string] $path) # liste les utilisateurs d'un groupe
{
if (! $path)
{
throw \"Vous devez spécifier le chemin d'acces de l`'OU.\"
}
else
{
$groupe = ([ADSI] $path)
return $groupe.member
}
}[/code:1]
Gaby
Connexion ou Créer un compte pour participer à la conversation.
- Berfini
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 86
- Remerciements reçus 0
il y a 16 ans 2 mois #732
par Berfini
Gaby
Réponse de Berfini sur le sujet Re:Active Directory
En fait je pense avoir trouvé une solution a mon probleme :
Avec ce code que j'ai recupéré dans la bibli de scripts
[code:1]
$ldapQuery = \"(&(objectCategory=user))\"
$de = new-object system.directoryservices.directoryentry
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall()
foreach ($i in $complist) {write-host $i.properties.distinguishedname} [/code:1]
Le seul probleme qui subsiste, c'est que cette methode ne liste pas tous les utilisateurs.
Exemple : quand je me connectes, j'ouvre ma session sous etude_dev et mon script ne m'affiche que les users de etude_dev. Si je me log sous Exploitation, sa me liste ceux d'exploitation ...
Comme faire pour choisir ?
Avec ce code que j'ai recupéré dans la bibli de scripts
[code:1]
$ldapQuery = \"(&(objectCategory=user))\"
$de = new-object system.directoryservices.directoryentry
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall()
foreach ($i in $complist) {write-host $i.properties.distinguishedname} [/code:1]
Le seul probleme qui subsiste, c'est que cette methode ne liste pas tous les utilisateurs.
Exemple : quand je me connectes, j'ouvre ma session sous etude_dev et mon script ne m'affiche que les users de etude_dev. Si je me log sous Exploitation, sa me liste ceux d'exploitation ...
Comme faire pour choisir ?
Gaby
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 16 ans 2 mois #733
par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Active Directory
Par défaut la construction d'un nouvel objet System.DirectoryServices.DirectoryEntry utilise le domaine de l'utilisateur comme chemin de base.
Si tu veux modifier cela, tu peux préciser un autre chemin LDAP, soit à la création de l'objet soit après en modifiant sa propriété DistinguishedName. A la création, tu devrais pouvoir le faire en écrivant par exemple:
[code:1]$de = new-object system.directoryservices.directoryentry \"LDAP://DC=masociete,DC=com\"[/code:1]
Janel
Si tu veux modifier cela, tu peux préciser un autre chemin LDAP, soit à la création de l'objet soit après en modifiant sa propriété DistinguishedName. A la création, tu devrais pouvoir le faire en écrivant par exemple:
[code:1]$de = new-object system.directoryservices.directoryentry \"LDAP://DC=masociete,DC=com\"[/code:1]
Janel
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.058 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les initiés
- Active Directory : boucle Foreach