Question Intégrer Powershell dans une application
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6300
- Remerciements reçus 68
Il faut installer PS sur le poste de dev et sur les postes cible fournir au moins les assemblies de PS.Petit doute: faut il avoir PS installé sur le poste de dev ou le SDK Powershell suffit pour référencer les classes nécessaires?
Tu devrais, en utilisant une démo, vérifier ce dernier point avant de démarrer ton dev. De plus je ne sais pas si Windev à besoin d'un run-time...
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- bordin
- Auteur du sujet
- Hors Ligne
- Membre premium
- Messages : 88
- Remerciements reçus 0
après avoir lu pas mal de doc sur le hosting je me suis lancé!
j'ai intégré l'assembly system.management.automation et le mscorlib dans windev: chouette!
j'ai pris l'exemple suivant:
msdn.microsoft.com/en-us/library/ms714633(VS.85).aspx pour lancer une commande.
j'ai instancié un runspaceinvoke!
Mon pb est le resultat retourné lors de la methode invoke qui est si j'ai bien compris est un system.management.objectModel.collection. Est-ce exact?
cdt
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6300
- Remerciements reçus 68
[code:1]
[SerializableAttribute]
[ComVisibleAttribute(false)]
public class Collection<T> : IList<T>,
ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable
[/code:1]
Windev sait les gérer ?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- bordin
- Auteur du sujet
- Hors Ligne
- Membre premium
- Messages : 88
- Remerciements reçus 0
Oui c'est une classe générique :
[code:1]
[SerializableAttribute]
[ComVisibleAttribute(false)]
public class Collection<T> : IList<T>,
ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable
[/code:1]
Windev sait les gérer ?
Salut,
les collections sous windev d'après ce que j'ai trouvé ne sont pas gérées! Il n'y a pas de foreach non plus. Pour cela il faut passer par un objet IEnumerator.
bonne nuit!
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6300
- Remerciements reçus 68
Si tu parle de l'itération uniquement, ce n'est pas le plus gênant dans ton cas.les collections sous windev d'après ce que j'ai trouvé ne sont pas gérées!
camilleB écrit:
C'est ce que font en interne les autres langages, l'instruction Foreach n'est qu'une facilité d'écriture.Il n'y a pas de foreach non plus. Pour cela il faut passer par un objet IEnumerator.
Ce qu'il te faut savoir c'est si tu peux créer une instance d'un type générique :
[code:1]
Collection<PSObject> MonResultat
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- bordin
- Auteur du sujet
- Hors Ligne
- Membre premium
- Messages : 88
- Remerciements reçus 0
camilleB écrit:
Si tu parle de l'itération uniquement, ce n'est pas le plus gênant dans ton cas.les collections sous windev d'après ce que j'ai trouvé ne sont pas gérées!
camilleB écrit:C'est ce que font en interne les autres langages, l'instruction Foreach n'est qu'une facilité d'écriture.Il n'y a pas de foreach non plus. Pour cela il faut passer par un objet IEnumerator.
Ce qu'il te faut savoir c'est si tu peux créer une instance d'un type générique :
[code:1]
Collection<PSObject> MonResultat
[/code:1]
Bonjour,
je crois que oui! En fait l'explorateur d'objets m'affichait un truc du style Collection`1 et je ne comprenait pas pourquoi. En déclarant ainsi: \"Collection`1\" l'objet est reconnu.
Mais par contre un message d'erreur m'indique que:
[code:1]invoker:invoke(\"Get-process\"«»)[/code:1] ne retourne pas de valeurs donc ne peut être affecté à une variable.
Comment sont les objets en sortie de la methode invoke?
Merci pour ton aide!
J'espère que j'y arriverai un jour!
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les initiés
- Intégrer Powershell dans une application