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 :

Questions et proposition


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 252
    Par défaut Questions et proposition
    Bonjour,

    Apprenant le powershell depuis quelques temps, j'ai quelques questions essentielles pour les connaisseurs ainsi qu'une proposition pour les administrateurs.
    Je vais commencer par la proposition.

    A mon humble avis, powershell est un langage "nouveau" mais qui à un grand avenir. Je propose donc aux administrateurs de ce site de créer une section powershell dans la "Programmation Windows".

    Pour mes questions, elles se situent au niveau des classes accessibles dans powershell.
    Par exemple [AppDomain].

    Je voudrais savoir:
    1) D'où vient cet objet ?
    2) Y a-t-il un moyen d'avoir une description de cet objet ?
    (Je ne parle pas de lister les membres avec Get-Member mais avoir une sorte de définition de la classe)
    Savoir en gros à quoi elle peut servir.

    3)Comment connaître les assemblies qui peuvent être ajoutées grâce à Add-Type ?
    En gros créer une sorte de liste des assemblies pouvant être ajoutées.

    4)Une fois une assembly "chargée" avec Add-Type comment la "déchargée" ?


    Mon but final est de créer des fonctions me permettant de:
    Lister toutes les assemblies pouvant être "ajoutée" avec Add-Type.
    Lister toutes les classes de ces assemblies.
    Avoir une définition pour chaque classe.
    Pouvoir déchargée une assembly chargée.

    Voila j'espère avoir été assez claire.

    Merci d'avance pour vos réponses ou vos exemples et à bientôt sur le forum.

    Sokai

  2. #2
    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
    Salut,
    Citation Envoyé par sokai Voir le message
    Je propose donc aux administrateurs de ce site de créer une section powershell dans la "Programmation Windows".
    Pour le moment il n'y a pas assez de posts sur le sujet, le TAG [POWERSHELL] suffit pour retrouver les posts concernés.
    Citation Envoyé par sokai Voir le message
    Par exemple [AppDomain].
    Je voudrais savoir:
    1) D'où vient cet objet ?
    Du runtime .net (dépend de la config de PS):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [appdomain]|select *
    [appdomain].Assembly
    Citation Envoyé par sokai Voir le message
    2) Y a-t-il un moyen d'avoir une description de cet objet ?
    Oui sur MSDN
    Citation Envoyé par sokai Voir le message
    3)Comment connaître les assemblies qui peuvent être ajoutées grâce à Add-Type ?
    Tous ceux qui sont supportés par le runtime en cours d'exécution dans le host PS, sont concernés.
    Ensuite il y a qq restrictions technique, par exemple Linq, car il s'appuit sur des interfaces, et PS V2 les gére mal pour le moment.
    Citation Envoyé par sokai Voir le message
    En gros créer une sorte de liste des assemblies pouvant être ajoutées.
    Il faut les essayer pour le savoir.
    Sinon dans l'autre sens, lister ceux chargées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function Get-CurrentDomain{[AppDomain]::CurrentDomain}
    function Get-Assemblies{(Get-CurrentDomain).GetAssemblies()}
    Citation Envoyé par sokai Voir le message
    4)Une fois une assembly "chargée" avec Add-Type comment la "déchargée" ?
    Une fois chargé dans un AppDomain un assembly ne peut plus être déchargé, a moins de supprimer l'AppDomain.
    Un module de type script peut l'être par contre (remove-module).
    Utilise une session (une session PS = 1 Appdomain).
    Citation Envoyé par sokai Voir le message
    Lister toutes les classes de ces assemblies.
    Le mieux serait d'avoir un provider d'assembly, j'en écrirais peut être un un jour...
    En attendant utilise l'outil Reflector ou IlDasm.exe du framework.
    Sinon il faut le charger et utiliser le système de réflexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [AppDomain].GetMembers()|Select Name

  3. #3
    Expert confirmé
    Avatar de shawn12
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Avril 2006
    Messages
    3 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2006
    Messages : 3 368
    Par défaut
    Citation Envoyé par Laurent Dardenne Voir le message
    Pour le moment il n'y a pas assez de posts sur le sujet, le TAG [POWERSHELL] suffit pour retrouver les posts concernés.
    +1

    @sokai : Pour ne voir que les sujets concernant PowerShell, tu peux utiliser ce lien : http://www.developpez.net/forums/f51...ripts_pwrshell

Discussions similaires

  1. Stage rémunéré: proposition, questions, études
    Par JulienDuSud dans le forum Emploi
    Réponses: 6
    Dernier message: 04/08/2010, 13h36
  2. Réponses: 7
    Dernier message: 21/01/2010, 09h38
  3. Proposition d'embauche, déception et question
    Par globerom dans le forum Salaires
    Réponses: 10
    Dernier message: 01/07/2009, 11h47

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