Question executer une fonction dont le nom est dans variabe

Plus d'informations
il y a 13 ans 1 mois #14046 par MARTINEZ
Bonjour,

Je tiens a vous remercier tous pour votre aide, vu le nombre de fois que je vous pose des questions.;)

Voici donc pour ne pas changer mon problème ::blush:

J'ai un fichier xml avec le nom de mes fichiers et de mes fonction que je dois executer (vbs, ps1 ou bat).

Suivant tout un tas de test j'execute certain et pas d'autre.B)
Avec un bat ou vbs j'utilise invoke-item, mais pour un fichier Powershell?:S

Y a-t-il une autre commande que je peux me servir?

Merci d'avance.
Patrick

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 1 mois #14047 par Laurent Dardenne
Salut,
as-tu un exemple de ce que tu récupères ?

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 1 mois #14049 par MARTINEZ
Bonjour,
Voici mon xls:
[DBG]: PS C:\ibp\Netlogon>>> $xml

xml Scripts
---
version=\"1.0\" encoding=\"utf-8\" Scripts
[DBG]: PS C:\ibp\Netlogon>>> $xml.Scripts

Fichier
{Fichier, Fichier, Fichier}
[DBG]: PS C:\ibp\Netlogon>>> $xml.Scripts.Fichier


ID : id1
FileName : LireAD.vbs
ScriptName :
Path : c:\ibp\Netlogon
Origine :
Destination :
RestrictionExecution : CN=G-ADMAgence,OU=Groupes de Securite,OU=i-BP,DC=ctr,DC=ibp
AutreParametre :

ID : id2
FileName : batch.bat
ScriptName :
Path : c:\ibp\Netlogon
Origine :
Destination : 2
RestrictionExecution :
AutreParametre :

ID : id3
FileName : Test.ps1
ScriptName : Set-Test
Path : c:\ibp\Netlogon
Origine :
Destination : 3
RestrictionExecution :
AutreParametre :


Comme tu vois, il me faut FileName pour monter le module, ca ca marche.
Puis la fonction Set-test qui est une fonction de msgbox dans ce cas.
Parfois j'aurais des variables à faire passer, orginie, destination.
Les restriction sont gere via la ligne RestrictionExecution qui donne acces juste au groupe voulu.
Autre parametre permet de faire passer d'autre variable eventuellement.


Comme je te dis, mon besoin est de faire executer la fonction Set-Test

Function set-Test{
param(
$Prenom
)
echo \"Bonjour $Prenom\"
}

Merci pour tout

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 1 mois #14050 par MARTINEZ
Bonjour,
J'ai trouver la fonction iex qui fonctionne mais ne me laisse pas passer de parametre:

#$Script.ScriptName = \"Set-Test\"

iex $Script.ScriptName


Function set-Test{
param(
[Parameter(Mandatory=$true,Position=1)][String]$Prenom
)
echo \"Bonjour $Prenom\"
}

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 1 mois #14051 par MARTINEZ
Bonjour,
Il faut donc passer en variable le nom de ma fonction + les options.

$var = \"$($Script.ScriptName) -Prenom \"\"Patrick\"\"\"
iex $var
Cela fonctionne.
Par contre y a pas mieux?
Pas tres joli.
Merci

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 1 mois #14052 par Laurent Dardenne
patmarti écrit:

Par contre y a pas mieux?

Il peut être préférable d'utiliser ceci :
[code:1]$ExecutionContext.InvokeCommand.InvokeScript[/code:1]
Avec Invoke-Expression, on exécute n'importe quel code.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.044 secondes
Propulsé par Kunena