Question [Résolu] Fonction avec Arguments

Plus d'informations
il y a 6 ans 7 mois #24119 par buissonneau
Réponse de buissonneau sur le sujet Re:Fonction avec Arguments
Ah j'ai amélioré le code sur tes conseils pour éviter de charger l'ensemble du ldap pour faire une recherche.
Du coup j'ai ajouté :

[code:1]
if ($PsCmdlet.ParameterSetName -eq 'UID')
{
$objMaRechercheOpenLdap.Filter = \"UID=$uid\"
$result = ($objMaRechercheOpenLdap.FindAll()) #| Where-Object {$_.Properties.get_item(\"uid\"«») -eq $UID})
$result
}
Else
{
$objMaRechercheOpenLdap.Filter = \"login=$login\"
$result = ($objMaRechercheOpenLdap.FindAll()) #| Where-Object {$_.Properties.get_item(\"login\"«») -eq $Login})
$result
}
if ($mail) {write-host \"Mail =\" $result.Properties.get_item(\"Mail\"«»)}
if ($Service) {write-host \"Service =\" $result.properties.get_item(\"service\"«»)}
}
[/code:1]
avec la modification du filtre dans le If, je passe de 5secondes de traitement à de l’instantané.
Du coup je pense que je pourrai mettre FindOne() au lieu de FindAll().

ps : bizarre dans le prévisualisation le texte apparaît bien en rouge mais en vrai j'ai le code html :/
Message édité par: xaviar, à: 28/08/17 16:11

Message édité par: xaviar, à: 28/08/17 16:13<br><br>Message édité par: xaviar, à: 28/08/17 16:14

Francis

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

Plus d'informations
il y a 6 ans 7 mois #24122 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Fonction avec Arguments
xaviar écrit:

ps : bizarre dans le prévisualisation le texte apparaît bien en rouge mais en vrai j'ai le code html :/

pb de copier/coller depuis ta source ?
xaviar écrit:

la partie interrogation du LDAP (connexion, Récupération des objets..) serait placée dans la function Get-UserData ou ça serait une autre fonction?

Oui, cela se voulait être du pseudo-code.
xaviar écrit:

Le seul truc qui me chagrine, c'est que si je fais pas de $result dans mes If/Else, si je demande pas de -mail ou -service, j'ai rien qui s'affiche
et inversement, si je fais $result, même avec mes arguments il affichent le résultat général.

c'est ce que j'avais indiqué ici :
[code:1]
$Properties=($PSBoundParameters.GetEnumerator()|Where-Object {($_.Value -is [switch] )}).Key
#Todo si aucun switch n'est précisé, quel est le contenu de $Properties ?
#des valeur par défaut ou pas ?
$Properties
[/code:1]
Ton usage de $Result émet l'objet dans tous les cas, ce n'est pas la bonne approche.

Essaie avec des if/ elseif ou test au début de tes tests si $properties est vide pour le cas où tu ne précises aucun switch (+ simple peut être)

Tutoriels PowerShell

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

Plus d'informations
il y a 6 ans 7 mois #24124 par buissonneau
Réponse de buissonneau sur le sujet Re:Fonction avec Arguments
Ah ok, j'avais pas compris le($PSBoundParameters.GetEnumerator()
Je vais tester cela et je te dis.

Francis

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

Plus d'informations
il y a 6 ans 7 mois #24125 par buissonneau
Réponse de buissonneau sur le sujet Re:Fonction avec Arguments
Euh en faites j'arrive pas à comprendre le déroulement de l'ébauche. Surtout la partie Get-UserData.
J'ai ajouté mes paramètres LDAP et mes conditions.
Mais je vois pas ce que fais le get-userdata -uid et comment je l'exploit après.
Le $user est sensé contenir quoi comme information?
C'est peut être tout bête.

Francis

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

Plus d'informations
il y a 6 ans 7 mois #24126 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Fonction avec Arguments
xaviar écrit:

Euh en faites j'arrive pas à comprendre le déroulement de l'ébauche. Surtout la partie Get-UserData.

Oublie cette fonction, utilise ton code autour de FindAll/FindOne.
Elle était sensée simulé cet appel. De ma part c'est plus un apport de confusion qu'autre chose :unsure:

Tutoriels PowerShell

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

Plus d'informations
il y a 6 ans 7 mois #24130 par buissonneau
ah ok.
En tout cas merci pour tout, cela tourne bien et vite.
J'en ai profité pour agrémenter avec de l'aide et tout;
J'espère la faire évoluer au rythme de mon apprentissage du langage.

Merci pour tout tes conseils éclairés et pour ton temps aussi.

@Bientôt
Francis

Francis

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

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