Question
[Résolu] Paramètres de fonction à choix multiples
- Philippe
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 28
- Remerciements reçus 0
il y a 7 ans 10 mois #21894
par Philippe
[Résolu] Paramètres de fonction à choix multiples a été créé par Philippe
Bonjour à tous,
Je suis en quête d'une solution a un appel d'une fonction où certains paramètres sont au conditionnel et où le créateur n'as pas implémenté le pipeline ni/ou les positions.
Du coup impossible de l'appeler avec un objet
[code:1]$Object = New-Object PSObject -Property @{
DeploymentType = $DeploymentType
Edition = $Edition
Verbose = $true
}
If ($ComputerName) { $Object | Add-Member -NotePropertyName ComputerName -NotePropertyValue $ComputerName }
If ($EnableRemoteManagementPort) { $Object | Add-Member -NotePropertyName EnableRemote -NotePropertyValue $true }
$Object | New-LaFunction[/code:1]
et forcement si je lance la commande
[code:1]New-LaFunction -ComputerName $ComputerName -DeploymentType $DeploymentType etc....[/code:1]
avec $ComputerName vide, il me sort une erreur.
Voila en gros où j'en suis et je me dit qu'il doit bien y avoir une solution.
Style : call(lafunction, lesarguements)
ou alors un modificateur a la volé :
update-function -name lafunction -allparam [Parameter(ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)]
J'en demande trop sur le dernier? Mouai, certainement
Je précise par avance que cette fonction est tiré d'un module fait par une autre personne. Pour des raisons d'évolution, je ne peux pas le modifier.
Merci par avance de votre aide.
Très cordialement
Morta
Message édité par: Mortasgus, à: 6/06/16 11:24<br><br>Message édité par: Mortasgus, à: 10/06/16 16:58
Je suis en quête d'une solution a un appel d'une fonction où certains paramètres sont au conditionnel et où le créateur n'as pas implémenté le pipeline ni/ou les positions.
Du coup impossible de l'appeler avec un objet
[code:1]$Object = New-Object PSObject -Property @{
DeploymentType = $DeploymentType
Edition = $Edition
Verbose = $true
}
If ($ComputerName) { $Object | Add-Member -NotePropertyName ComputerName -NotePropertyValue $ComputerName }
If ($EnableRemoteManagementPort) { $Object | Add-Member -NotePropertyName EnableRemote -NotePropertyValue $true }
$Object | New-LaFunction[/code:1]
et forcement si je lance la commande
[code:1]New-LaFunction -ComputerName $ComputerName -DeploymentType $DeploymentType etc....[/code:1]
avec $ComputerName vide, il me sort une erreur.
Voila en gros où j'en suis et je me dit qu'il doit bien y avoir une solution.
Style : call(lafunction, lesarguements)
ou alors un modificateur a la volé :
update-function -name lafunction -allparam [Parameter(ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)]
J'en demande trop sur le dernier? Mouai, certainement
Je précise par avance que cette fonction est tiré d'un module fait par une autre personne. Pour des raisons d'évolution, je ne peux pas le modifier.
Merci par avance de votre aide.
Très cordialement
Morta
Message édité par: Mortasgus, à: 6/06/16 11:24<br><br>Message édité par: Mortasgus, à: 10/06/16 16:58
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 7 ans 10 mois #21911
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Paramètres de fonction à choix multiples
SaLut,
peux-tu nous communiquer l'entête de la fonction ( clause param) et nous dire quels blocs sont implémentés (begin,process,end) ?<br><br>Message édité par: Laurent Dardenne, à: 8/06/16 00:24
peux-tu nous communiquer l'entête de la fonction ( clause param) et nous dire quels blocs sont implémentés (begin,process,end) ?<br><br>Message édité par: Laurent Dardenne, à: 8/06/16 00:24
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 28
- Remerciements reçus 0
il y a 7 ans 10 mois #21914
par Philippe
Réponse de Philippe sur le sujet Re:Paramètres de fonction à choix multiples
Bonjour Laurent,
la fonction est New-NanoServerImage que tu peux retrouver sur l'ISO de Windows Server 2016 Technical Preview 5
dans le répertoire NanoServer\NanoServerImageGenerator\NanoServerImageGenerator.psm1
Le module est en PJ.
Si cela peux vous aider.
Cordialement.
Morta<br><br>Message édité par: Mortasgus, à: 8/06/16 16:51
la fonction est New-NanoServerImage que tu peux retrouver sur l'ISO de Windows Server 2016 Technical Preview 5
dans le répertoire NanoServer\NanoServerImageGenerator\NanoServerImageGenerator.psm1
Le module est en PJ.
La pièce jointe NanoServerImageGenerator.txt est absente ou indisponible
Si cela peux vous aider.
Cordialement.
Morta<br><br>Message édité par: Mortasgus, à: 8/06/16 16:51
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 7 ans 10 mois #21920
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Paramètres de fonction à choix multiples
Mortasgus écrit:
Mortasgus écrit:
Qu'est-ce que tu cherches à faire exactement ?
En attendant tes réponses, regarde si le splatting peut t'aider.
Enfin dans ton cas le mieux serait de poster ta demande d'évolution/correction ici .
Que veux-tu dire par là ? Tu parles des paramètre de type de switch ?où certains paramètres sont au conditionnel
Mortasgus écrit:
Pour quels scénarios ?où le créateur n'as pas implémenté le pipeline ni/ou les positions.
Qu'est-ce que tu cherches à faire exactement ?
En attendant tes réponses, regarde si le splatting peut t'aider.
Enfin dans ton cas le mieux serait de poster ta demande d'évolution/correction ici .
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 28
- Remerciements reçus 0
il y a 7 ans 10 mois #21924
par Philippe
Réponse de Philippe sur le sujet Re:Paramètres de fonction à choix multiples
Bonjour Laurent,
J'avais essayé le splatting avec new-macommande @Object sous plusieurs formes mais ça n'avais pas l'air de marcher.
Nouvelle tentative ce jour et ça passe déjà mieux... Va comprendre Charle... Une formulation de la variable que je n'avais pas due essayer sans doute.
Le scénario:
hummm : L'idée c'est un winpe sur une clé usb ou un iso bootable où il y a un fichier HTA automatiquement lancé qui contient des pages de configurations pour générer une installation personnalisée d'un nanoserver. Diskpart, récupérer des informations, VBscript, envoi du tout à un petit ps1 powershell qui va créer l'image wim voulu avec les options choisis et la déployer sur le disque nouvelle préparer. Bcdboot, reboot et hop nouveau nanoserver prêt à être utilisé.
Merci pour l'url, je connaissais social.technet.microsoft.com/Forums/wind...ome?forum=NanoServer et blogs.technet.microsoft.com/nanoserver/2...ew-nano-server-blog/ pour les nano serveurs mais pas celle-ci.
Je teste tout ça et je vous fait un retour.
Merci
Morta
J'avais essayé le splatting avec new-macommande @Object sous plusieurs formes mais ça n'avais pas l'air de marcher.
Nouvelle tentative ce jour et ça passe déjà mieux... Va comprendre Charle... Une formulation de la variable que je n'avais pas due essayer sans doute.
Le scénario:
hummm : L'idée c'est un winpe sur une clé usb ou un iso bootable où il y a un fichier HTA automatiquement lancé qui contient des pages de configurations pour générer une installation personnalisée d'un nanoserver. Diskpart, récupérer des informations, VBscript, envoi du tout à un petit ps1 powershell qui va créer l'image wim voulu avec les options choisis et la déployer sur le disque nouvelle préparer. Bcdboot, reboot et hop nouveau nanoserver prêt à être utilisé.
Merci pour l'url, je connaissais social.technet.microsoft.com/Forums/wind...ome?forum=NanoServer et blogs.technet.microsoft.com/nanoserver/2...ew-nano-server-blog/ pour les nano serveurs mais pas celle-ci.
Je teste tout ça et je vous fait un retour.
Merci
Morta
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 28
- Remerciements reçus 0
il y a 7 ans 10 mois #21930
par Philippe
Réponse de Philippe sur le sujet Re:Paramètres de fonction à choix multiples
C'est bon, avec la bonne écriture de l'objet, ça fonctionne.
[code:1]$Object = @{
'DeploymentType' = $DeploymentType;
'Edition' = $Edition;
'Verbose' = $true;
}
If ($ComputerName) { $Object.add('ComputerName', $ComputerName) }
New-NanoServerImage @Object[/code:1]
Merci à vous
Morta
[code:1]$Object = @{
'DeploymentType' = $DeploymentType;
'Edition' = $Edition;
'Verbose' = $true;
}
If ($ComputerName) { $Object.add('ComputerName', $ComputerName) }
New-NanoServerImage @Object[/code:1]
Merci à vous
Morta
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.078 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- [Résolu] Paramètres de fonction à choix multiples