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 :

Copier un objet depuis C# vers Powershell [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 38
    Par défaut Copier un objet depuis C# vers Powershell
    Bonjour,
    SVP je cherche le moyen de passer un objet de c# vers powershell .

    y'a quelqu'un pour m'aider?

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    pas très précis...


    tu souhaites utiliser une classe codée en C# dans tes scripts PowerShell ? ie instancier une classe "externe" ?


    si oui, il suffit de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $obj = New-Object MyAssembly.MyNameSpace.MyClass
    évidemment, si le code est contenue dans une dll "non enregistrée", il va falloir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Reflection.Assembly]::LoadFile('volume:\path\to\file\my_lib.dll')
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 38
    Par défaut
    Merci pour ta réponse , mais ce que je cherche à faire c'est de générer du script à partir du code c# .
    par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Widget w=new Slider();
    WriteScripte("$Widget=New-Object "+w);
    ici dans cet exemple ca marche , mais si je veux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    List<Widget> maliste=new List<Widget>()
    maliste.add(w1);
    maliste.add(w2);
    WriteScripte("$list= "+maliste);

    cet exemple n'est pas top mais c'est juste pour illustrer ce que je voudrais faire.
    Merci encore

  4. #4
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    Citation Envoyé par aminems Voir le message
    cet exemple n'est pas top mais c'est juste pour illustrer ce que je voudrais faire.

    encore trop imprécis... je vois 2 "envies" possibles:
    • à partir d'un code C#, générer le script PowerShell équivalent... auquel cas, un bon parseur fera l'affaire
    • utiliser un DSL embarqué, qui sera ici PowerShell
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 38
    Par défaut
    j'ai une application C# et je voudrais sauvegarder son état d'exécution dans un fichier powershell, ceci dit je génère un script powershell qui permet de recréer l'application , mais le problème c'est que pour pouvoir sauvegarder l'état de mes variables d'exécution je trouve pas moyen car j'écris le script sous format texte "String" .

    pour récapituler je cherche un moyen d'avoir dans un script les mêmes objets avec leurs valeurs que ceux de l'application c# encours d'exécution.

    Merci

  6. #6
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    pourquoi ne pas passer par un pattern State/Memento, et ensuite le serialiser, que ce soit sous une forme binaire ou texte ?
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 38
    Par défaut
    Merci pour ta réponse c'est justement ce que je me résignais à faire, c'est finalement la solution mais je tenterais quand même de le faire en PowerShell avec les objet sérialisé.

    Merci beaucoup.

  8. #8
    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
    Billets dans le blog
    1
    Par défaut
    As-tu étudié le couple de cmdlets Export/Import-CliXML ?

  9. #9
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 38
    Par défaut
    oui j'ai regarder du coté des cmdlet Export/Import-CliXML , mais vus que j'ai pas réussi à sérialiser mes objets à cause de fortes dépendances avec des objet qui embarquent des dictionnaires et des listbox , donc j'ai laisser tomber la possibilité de passer par la sérialisation. là je suis bloqué sur le même problème j'arrive pas à trouver un moyen de passer un objet de C# vers Powershell, si vous avez la solution je suis preneur.

    Merci

  10. #10
    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
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par aminems;
    j'arrive pas à trouver un moyen de passer un objet de C# vers Powershell
    En quoi PowerShell est-il nécessaire dans ton cas ?
    Quels services est-il sensé te rendre que le C# ne serait pas faire ?

  11. #11
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 38
    Par défaut
    je voudrais utiliser powershell pour sauvegarder les manipulations que je fait sur mon application , l'avantage avec powershell c'est que je pourrais rejouer ou modifier mon scénario à la volée , ce qui me permettras d'être indépendant de l'IHM.

  12. #12
    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
    Billets dans le blog
    1
    Par défaut
    Je comprends mieux, de mon coté je n'ai pas de solution à te proposer.
    As-tu regarder les APIs UI Automation ?
    Celles-ci peuvent être utilisées pour automatiser des tests, il y a peut être des fonctions d'enregistrements...

  13. #13
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 38
    Par défaut
    Merci beaucoup , UI Automation me seras d'une grande utilité. Je me penches dessus cet après-midi et je reviens vers vous , encore merci

  14. #14
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 543
    Par défaut
    Juste pour dire.
    La méthode standard en .NET pour des tâches longues avec interventions humaines pour les changements d'états, c'est le WorkFlow -> WF.

  15. #15
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 38
    Par défaut
    Finalement j'ai remédier au problème que j'avais , mais en reprogrammant toutes les méthodes qui permettent de manipuler mon application à partir de powershell donc plus besoin de devoir passer des objets entre les deux mondes (qui seraient bien plus puissant si on pouvais les fusionner ) .

    Merci à Laurent et à gorgonite.

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

Discussions similaires

  1. [XL-2010] Envoi objet depuis Excel vers Outlock
    Par auracle68 dans le forum Excel
    Réponses: 6
    Dernier message: 06/02/2014, 21h16
  2. Copier un objet A vers un objet B
    Par peter27x dans le forum Débuter
    Réponses: 22
    Dernier message: 02/02/2009, 19h00
  3. Réponses: 3
    Dernier message: 20/11/2006, 18h48
  4. Copier un fichier depuis le poste client vers le serveur
    Par n@n¤u dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 31/07/2006, 16h28
  5. Réponses: 5
    Dernier message: 02/11/2005, 12h49

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