IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Problème de Ref [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 114
    Points : 94
    Points
    94
    Par défaut Problème de Ref
    Bonjour

    j'ai un petit soucis avec le code suivant qui est a titre d'exemple mais qui me génére un message d'erreur ...

    voila le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Function FcntTest{
    [Parameter(Position=0)]Param ([ref]$MonObject,[Parameter(Position=1)] [string]$NomObject)
     $MonObject.value
     echo $NomObject
    }
     
    $list =get-childitem registry::hklm\software
    FcntTest $list [string]"TOTO"
    Je veux que ma fonction récupère une référence et une chaîne de caractères ..

    FullyQualifiedErrorId : ParameterArgumentTransformationError,FcntTest

    pourtant je passe du string dans du string????

  2. #2
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 114
    Points : 94
    Points
    94
    Par défaut
    J'ai suivi le fil de Laurent Dardenne ci-dessous donc ce code modifié marche, par contre je comprend pas tout au fonction sous powershell, comment on passe les type different en argument ?
    Je ne comprend pas pourquoi en utilisant string ca ne fonctionnais pas .. étrange.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Function FcntTest([ref]$MonObject,[string]$NomObject){
    $MonObject.value
    echo $NomObject}
     
    [string]$s3 = "TOTO"
     
    [ref]$list =get-childitem registry::hklm\software
    FcntTest $list $s3

  3. #3
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par sshpcl2 Voir le message
    J'ai suivi le fil de Laurent Dardenne ci-dessous donc ce code modifié marche, par contre je comprend pas tout au fonction sous powershell, comment on passe les type different en argument ?
    Si tu parles des fonctions avancées j'ai rédigé un tutoriel sur le sujet, voir ma signature pour le lien.

    Quant à ton premier exemple, c'est un peu le mode "essorage" dans la clause param. Ceci fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Function FcntTest{
      param(
          [Parameter(Position=0)]
         [ref]$MonObject,
          [Parameter(Position=1)] 
         [string]$NomObject
      )
     Write-Host $NomObject
     Write-Host ('-' * 40)
     $MonObject.value
    }
     
    [ref]$list =get-childitem registry::hklm\software
    FcntTest $list "TOTO"
    Pas besoin de préciser le type si tu contrainds le/les paramètres de ta fonction. PowerShell fait ça tout seul, il est très dynamique comme shell.

    Pour [ref] sont intérêt est de modifier la même collection dans la fonction.

    Peux-tu reformuler ta question "comment on passe les types differents en argument ? " ?
    A mon avis tu dois partir de la signature de la méthode, car si ses paramètres ne sont pas contraints sur le type, ton pb est déjà de connaître les régles de conversion (particulières et pas évidentes à mémoriser).

  4. #4
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 114
    Points : 94
    Points
    94
    Par défaut
    effectivement je lisais ton tutorial sur le sujet ...(que je vais relire d'ailleur)

    J'ai fait une erreur d'appreciation la reference n'avais d'interet que si je voulais modifiez la collection, j'avais que besoin des valeurs ...

    le vraie probléme étais sur une collection(un tableau) d'objet AD généré (le trés bon snapin Quest.ActiveRoles.ADManagement)...

    que je passais en fonction pour effectué une tache sur chaque nom de machine extrait ... la valeur me suffisais donc ..

    et precisé le type a la creation de la variable ...

    En tout cas merci laurent super boulot, pour tout tes differents tuto

  5. #5
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par sshpcl2 Voir le message
    En tout cas merci laurent super boulot, pour tout tes differents tuto
    Content qu'ils te soient utiles

    En même temps je pense que tu as remonté un bug ou en tout cas une incohérence dans le parseur. Dans ton 1er exemple, et vu de ma fenêtre, il aurait dû hurler à la mort

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de Ref cursor
    Par sallemel dans le forum Oracle
    Réponses: 6
    Dernier message: 13/03/2012, 19h16
  2. Problème Hyprref ref label
    Par nostress dans le forum Mise en forme
    Réponses: 5
    Dernier message: 28/01/2012, 07h27
  3. Problème commande "\ref" avec l'environnement table
    Par zoncou dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 4
    Dernier message: 11/09/2010, 00h53
  4. [XL-2007] Supprimer ligne avec problème de #REF!
    Par bedoch dans le forum Excel
    Réponses: 6
    Dernier message: 02/03/2010, 14h53
  5. Problème avec \label et \ref
    Par Anamelech dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 2
    Dernier message: 14/12/2006, 09h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo