Question
Récupérer UID LDAP Unix pour créer compte AD
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6300
- Remerciements reçus 68
spz écrit:
C'est vrai cela fait une certitude bien utile dans ce casje sais que déjà que ça fonctionne
spz écrit:
La variable $nextEntry est toujorus null pour lui
As-tu essayé ce script étapes par étapes dans la console ?
Peux-tu, si possible, répondre aux questions posées depuis le 17/04/08 13:31, certaines étant restées sans réponse.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- bill_
- Auteur du sujet
- Hors Ligne
- Membre senior
- Messages : 74
- Remerciements reçus 0
Dès que je passe cette ligne :
[code:1][Novell.Directory.Ldap.LdapEntry] $nextEntry = $Null[/code:1]
En sortie j'ai ceci :
$host.SetShouldExit(1036);$nextEntry = $lsc.next()
$host.SetShouldExit(1064)
Et ça passe directement à cette ligne :
[code:1]Write-Host \"$nextEntry.DN\"[/code:1]
Désolé de ne pas avoir répondu
Je n'y ai pas accèsIl n'y a pas d'outils ou tu n'y as pas accès ?
Non, j'ai mis un point d'arrêt à cette ligne mais le script continu son cheminement et me dit une erreur à la ligne :Si oui après $nextEntry = lsc.next() est-ce que nextentry est renseigné (!$Null) ?
[code:1][Novell.Directory.Ldap.LdapAttributeSet] $attributeSet = $nextEntry.getAttributeSet()[/code:1]
Oui, mais ça m'affiche l'erreur que tu as vu dans mon précédent postSi oui après [Novell.Directory.Ldap.LdapAttributeSet] $attributeSet = $nextEntry.getAttributeSet() est-ce que $attributeSet est renseigné (!$Null) ?
Est-ce que $LdapConnection.SCOPE_ONE vaux bien 1 ?[/code]
En faisant un Write-Host de ceci, je n'obtiens que dalle<br><br>Message édité par: spz, à: 24/04/08 16:21
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6300
- Remerciements reçus 68
Essaie ça :
[code:1]
$lsc = $ldapConn.Search(\"OU=people,DC=masociete,DC=fr\",$LdapConnection.SCOPE_ONE,\"ObjectClass=*\",$null,$false)
[Novell.Directory.Ldap.LdapEntry] $nextEntry = $lsc
if ($lsc.hasMore())
{
[Novell.Directory.Ldap.LdapEntry] $nextEntry = $Null
$nextEntry = $lsc.next()
}
else {Write \"Plus de données \"}
Write \"NextEntry\"
$nextEntry
if ($nextEntry -ne $null)
{
[Novell.Directory.Ldap.LdapAttributeSet] $attributeSet = $nextEntry.getAttributeSet
Write \"attributeSet\"
$attributeSet
}
else {Write \"NextEntry = Null\"}
[/code:1]
Tu peux avoir cette exception
[code:1]
System.ArgumentOutOfRangeException(\"LdapSearchResults.next() no more results\"«»);
[/code:1]
Ensuite copie le résultat affiché dans la console.
Quel labeur !!!
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- bill_
- Auteur du sujet
- Hors Ligne
- Membre senior
- Messages : 74
- Remerciements reçus 0
Pardonne moi, je suis vraiment vraiment désolé
Tu es d'une aide précieuse
Pour l'exception j'ai pas bien saisi
Cela me renvoi ce message d'erreur :
[code:1]Source : Novell.Directory.Ldap.LdapException
Erreur : No Such Object
Exception lors de l'appel de « next » avec « 0 » argument(s) : « No Such Object »
Au niveau de C:\Scripts-PowerShell\searchfilter.ps1 : 30 Caractère : 26
+ $nextEntry = $lsc.next( <<<< )[/code:1]
Par contre je viens d'avoir une idée, dans les paramètres de connexion au serveur LDAP :
[code:1]param([string] $serveur, [string] $DN, [string] $attribut, [string] $attribut2)[/code:1]
Je peux mettre un $attribut2 en mettant après :
$attribut2 = \"uid\"
Puis faire :
[code:1]$attribute = $Entry.getAttribute($attribut2)
$valeur = $attribute.StringValue
Write-Host $valeur[/code:1]
Je vais essayer cela pour voir
Qu'en penses-tu sinon ?<br><br>Message édité par: spz, à: 25/04/08 11:40
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6300
- Remerciements reçus 68
Pas de soucis, c'est que je commence à trouver le temps longPardonne moi, je suis vraiment vraiment désolé
spz écrit:
Tu me remercieras une fois que cela fonctionnera...Tu es d'une aide précieuse
spz écrit:
$lsc.next() déclenche cette exception s'il n'y a plus de donnée dans la liste.Pour l'exception j'ai pas bien saisi
spz écrit:
je m'attendais à avoir autre chose comme résultat !Cela me renvoi ce message d'erreur :
Comment l'as-tu obtenu ? Est-ce suite à l'exécution du dernier code que je t'ai proposé ?
spz écrit:
J'en pense que dans une phase debug de courir UN lièvre à la fois est une bonne pratique. Pour le moment je te conseille de ne pas modifier l'existant, ensuite...Qu'en penses-tu sinon ?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- bill_
- Auteur du sujet
- Hors Ligne
- Membre senior
- Messages : 74
- Remerciements reçus 0
Oui tout à fait, j'ai fait exactement ce que tu m'as indiqué, lorsque je mets en commentaire la ligne :Comment l'as-tu obtenu ? Est-ce suite à l'exécution du dernier code que je t'ai proposé ?
[code:1]$nextEntry = $lsc.next()[/code:1]
J'obtiens :
NextEntry
NextEntry = Null
J'ai l'impression qu'il ne trouve aucun objet
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Récupérer UID LDAP Unix pour créer compte AD