Question
executer une fonction dont le nom est dans variabe
- MARTINEZ
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 16
- Remerciements reçus 0
il y a 13 ans 1 mois #14046
par MARTINEZ
executer une fonction dont le nom est dans variabe a été créé 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 :
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.
Avec un bat ou vbs j'utilise invoke-item, mais pour un fichier Powershell?
Y a-t-il une autre commande que je peux me servir?
Merci d'avance.
Patrick
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 :
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.
Avec un bat ou vbs j'utilise invoke-item, mais pour un fichier Powershell?
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 13 ans 1 mois #14047
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:executer une fonction dont le nom est dans variabe
Salut,
as-tu un exemple de ce que tu récupères ?
as-tu un exemple de ce que tu récupères ?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- MARTINEZ
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 16
- Remerciements reçus 0
il y a 13 ans 1 mois #14049
par MARTINEZ
Réponse de MARTINEZ sur le sujet Re:executer une fonction dont le nom est dans variabe
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
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.
- MARTINEZ
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 16
- Remerciements reçus 0
il y a 13 ans 1 mois #14050
par MARTINEZ
Réponse de MARTINEZ sur le sujet Re:executer une fonction dont le nom est dans variabe
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\"
}
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.
- MARTINEZ
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 16
- Remerciements reçus 0
il y a 13 ans 1 mois #14051
par MARTINEZ
Réponse de MARTINEZ sur le sujet Re:executer une fonction dont le nom est dans variabe
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
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 13 ans 1 mois #14052
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:executer une fonction dont le nom est dans variabe
patmarti écrit:
[code:1]$ExecutionContext.InvokeCommand.InvokeScript[/code:1]
Avec Invoke-Expression, on exécute n'importe quel code.
Il peut être préférable d'utiliser ceci :Par contre y a pas mieux?
[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
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- executer une fonction dont le nom est dans variabe