Question Récupérer UID LDAP Unix pour créer compte AD

Plus d'informations
il y a 13 ans 1 mois #2254 par Laurent Dardenne
Salut,
spz écrit:

je sais que déjà que ça fonctionne

C'est vrai cela fait une certitude bien utile dans ce cas :)
spz écrit:

La variable $nextEntry est toujorus null pour lui

:P
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.

Plus d'informations
il y a 13 ans 1 mois #2257 par bill_
Oui j'ai essaye le script étapes par étapes

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 :blush:

Il n'y a pas d'outils ou tu n'y as pas accès ?

Je n'y ai pas accès

Si oui après $nextEntry = lsc.next() est-ce que nextentry est renseigné (!$Null) ?

Non, j'ai mis un point d'arrêt à cette ligne mais le script continu son cheminement et me dit une erreur à la ligne :

[code:1][Novell.Directory.Ldap.LdapAttributeSet] $attributeSet = $nextEntry.getAttributeSet()[/code:1]

Si oui après [Novell.Directory.Ldap.LdapAttributeSet] $attributeSet = $nextEntry.getAttributeSet() est-ce que $attributeSet est renseigné (!$Null) ?

Oui, mais ça m'affiche l'erreur que tu as vu dans mon précédent post

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.

Plus d'informations
il y a 13 ans 1 mois #2258 par Laurent Dardenne
L'édition de ton précédent message à tronqué la fin de ta réponse...

Essaie ça :
[code:1]
$lsc = $ldapConn.Search(\&quot;OU=people,DC=masociete,DC=fr\&quot;,$LdapConnection.SCOPE_ONE,\&quot;ObjectClass=*\&quot;,$null,$false)
[Novell.Directory.Ldap.LdapEntry] $nextEntry = $lsc
if ($lsc.hasMore())
{
[Novell.Directory.Ldap.LdapEntry] $nextEntry = $Null
$nextEntry = $lsc.next()
}
else {Write \&quot;Plus de données \&quot;}

Write \&quot;NextEntry\&quot;
$nextEntry
if ($nextEntry -ne $null)
{
[Novell.Directory.Ldap.LdapAttributeSet] $attributeSet = $nextEntry.getAttributeSet
Write \&quot;attributeSet\&quot;
$attributeSet
}
else {Write \&quot;NextEntry = Null\&quot;}
[/code:1]
Tu peux avoir cette exception
[code:1]
System.ArgumentOutOfRangeException(\&quot;LdapSearchResults.next() no more results\&quot;«»);
[/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.

Plus d'informations
il y a 13 ans 1 mois #2266 par bill_
Bonjour

Pardonne moi, je suis vraiment vraiment désolé :blush:

Tu es d'une aide précieuse :)

Pour l'exception j'ai pas bien saisi :blush:

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( &lt;&lt;&lt;&lt; )[/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 = \&quot;uid\&quot;

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.

Plus d'informations
il y a 13 ans 1 mois #2267 par Laurent Dardenne
spz écrit:

Pardonne moi, je suis vraiment vraiment désolé

Pas de soucis, c'est que je commence à trouver le temps long :)
spz écrit:

Tu es d'une aide précieuse

Tu me remercieras une fois que cela fonctionnera...
spz écrit:

Pour l'exception j'ai pas bien saisi

$lsc.next() déclenche cette exception s'il n'y a plus de donnée dans la liste.
spz écrit:

Cela me renvoi ce message d'erreur :

je m'attendais à avoir autre chose comme résultat !
Comment l'as-tu obtenu ? Est-ce suite à l'exécution du dernier code que je t'ai proposé ?
spz écrit:

Qu'en penses-tu sinon ?

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...

Tutoriels PowerShell

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

Plus d'informations
il y a 13 ans 1 mois #2268 par bill_

Comment l'as-tu obtenu ? Est-ce suite à l'exécution du dernier code que je t'ai proposé ?

Oui tout à fait, j'ai fait exactement ce que tu m'as indiqué, lorsque je mets en commentaire la ligne :

[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.

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