Question
[Résolu] Fonction avec Arguments
- buissonneau
- Auteur du sujet
- Hors Ligne
- Membre senior
- Messages : 78
- Remerciements reçus 0
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6302
- Remerciements reçus 68
pb de copier/coller depuis ta source ?ps : bizarre dans le prévisualisation le texte apparaît bien en rouge mais en vrai j'ai le code html :/
xaviar écrit:
Oui, cela se voulait être du pseudo-code.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?
xaviar écrit:
c'est ce que j'avais indiqué ici :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.
[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.
- buissonneau
- Auteur du sujet
- Hors Ligne
- Membre senior
- Messages : 78
- Remerciements reçus 0
Je vais tester cela et je te dis.
Francis
Connexion ou Créer un compte pour participer à la conversation.
- buissonneau
- Auteur du sujet
- Hors Ligne
- Membre senior
- Messages : 78
- Remerciements reçus 0
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6302
- Remerciements reçus 68
Oublie cette fonction, utilise ton code autour de FindAll/FindOne.Euh en faites j'arrive pas à comprendre le déroulement de l'ébauche. Surtout la partie Get-UserData.
Elle était sensée simulé cet appel. De ma part c'est plus un apport de confusion qu'autre chose
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- buissonneau
- Auteur du sujet
- Hors Ligne
- Membre senior
- Messages : 78
- Remerciements reçus 0
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.
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- [Résolu] Fonction avec Arguments