Question
Débutant depuis hier.
- mtxrider
- Auteur du sujet
- Hors Ligne
- Nouveau membre
- Messages : 1
- Remerciements reçus 0
Je vous écris parce suite à un grand changement dans ma boite, nous allons enfin nous débarrasser d'un grand script de batch pour du powershell, et quelle joie !
Cela ne fait que deux mois que je bosse dans le service maintenance et installation de la boite, mais les méthodes utilisés sont obsolète et improductive.
Adepte de php à titre personnel de vb6 dans des temps ancien et obscure, de c++ et beaucoup des scripts shell linux, je ne suis à la base pas très proche de microsoft.
Simplement, j'ai convaincu notre patron que dans la mesure ou powershell équipe 100% des machines de notre parc, le choix de continuer en batch est improductif.
Ce nouveau script remplacera un script affreux en batch qui ne fonctionne pas très bien, surtout à cause des limitations que le choix impose.
Le but est de permettre un déploiement de paquet msi sur un poste vierge, le tout en utilisant le script pour paramétrer quel paquet l'on veut ou pas.
Il permettra aussi quelques paramètres comme le passage de licence taper au clavier en argument, et d'autres passage en paramètres dans le genre..
j'ai plusieurs question dans l'ordre, sachant que je n'ai pas pu commander le livre depuis hier, je pense m'en commander un exemplaire rapidement si je vois que ça me convient.
______________________________________
Première question comment jouer avec les valeurs d'une variable tableaux ?
pour faire court, je souhaiterais faire une variable tableau de ce type :
$soft.code (code du logiciel) => string
$soft.path (chemin du paquet à installer) => string
$soft.status (status, à installer ou pas) => int
bien entendu, il y aura plusieurs ligne, d'ou l'idée d'une variable tableau
_____________________________________
Basé sur la ma question 1, je souhaiterais faire une boucle while qui bouclerais tant que je tape des codes logiciel.
en gros, si je tape le code 000A au clavier, ça installera tel paquet, si je tape 000B, tel autre.
je pense qu'il faudrait donc dire à la boucle que tant qu'une saisie corresponds à l'objet code de $soft, la boucle suit son court.
Dans la dite boucle je pensais faire un switch, en fonction de tel code, le paquet est la, installe le comme ça.
Dans le cas ou par contre je taperais autre chose qu'un code, je sortirais de la boucle
Cette partie du script intervient au début, en guise de raccourci à toute la procédure pour l'installation d'un poste complet.
La boucle en question cité ici sert à faire l'update de quelques paquet, voir l'installation de paquet oublier par l’opérateur en charge de l'installation d'un poste.
_____________________________________
troisième question (fichier xml) :
Pour l'instant ce n'est pas gênant, mais je souhaiterais aller plus loin que remplacer le script batch.
à terme la variable $soft sera remplie par un xml qui sera parser, je souhaiterais déjà prendre la température pour savoir comment c'est faisable, dans quel mesure, et le temps que ça prendrais d'effectuer la chose de cette façon.
____________________________________
Dernière question, je pense pouvoir trouver ailleurs, mais vu que je suis ici, j'en profite, comment exécuter un programme en powershell depuis le script ?
En attendant de l'aide de la part de quelqu'un de ce forum, je vous remercie en avance du temps que vous saurez consacré à mon post, cordialement MtxRider
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6300
- Remerciements reçus 68
mtxrider écrit:
Improductif peut être pas, car cela fonctionne en prodle choix de continuer en batch est improductif.
mtxrider écrit:
Je te rassure, tu peux aussi faire la même chose en powershell.Ce nouveau script remplacera un script affreux en batch qui ne fonctionne pas très bien,
mtxrider écrit:
Cela me rappel une solution réalisée en PS.Le but est de permettre un déploiement de paquet msi sur un poste vierge, le tout en utilisant le script pour paramétrer quel paquet l'on veut ou pas.
mtxrider écrit:
Un tableau d'objet est préférable, cf. new-Object PSObject -Property ...bien entendu, il y aura plusieurs ligne, d'ou l'idée d'une variable tableau
mtxrider écrit:
Je pense qu'il est préférable de scinder le traitement de la saisie utilisateur.Basé sur la ma question 1, je souhaiterais faire une boucle while qui bouclerais tant que je tape des codes logiciel.
De créer un traitement paramètrable par saisie ou ligne de cmd ou fichier de conf est possible.
mtxrider écrit:
Mauvaise idée à mon avis, car un nouveau package ou la suppression d'un existant implique de modifier ton code, de le tester, et de le relivrer...Dans la dite boucle je pensais faire un switch, en fonction de tel code
mtxrider écrit:
S'il existe une norme de nommage ne pas la lier au traitement. Si la norme évolue tu changes le code existant.Dans le cas ou par contre je taperais autre chose qu'un code, je sortirais de la boucle
mtxrider écrit:
Une sorte de DSC pour poste clientLa boucle en question cité ici sert à faire l'update de quelques paquet, voir l'installation de paquet oublier par l’opérateur en charge de l'installation d'un poste.
mtxrider écrit:
Oui ça l'est. J'ai réalisé ce type de solution en utilisant un XSD pour faciliter les vérifications.à terme la variable $soft sera remplie par un xml qui sera parser, je souhaiterais déjà prendre la température pour savoir comment c'est faisable
mtxrider écrit:
C'est toi qui la donnedans quel mesure,
Et cela dépend de tes connaissances en dev, en xml et en DotNet.
mtxrider écrit:
Un certains tempset le temps que ça prendrais d'effectuer la chose de cette façon.
Prends le pb dans l'autre sens, de combien de temps tu disposeras.
Sinon tu rédiges un cahier des charges, des specs et un coût.
mtxrider écrit:
[code:1]comment exécuter un programme en powershell depuis le script ?
Help Start-Process -full
&\"FullPath\Process.exe\"
[/code:1]
Quelle version de PS utiliseras-tu ? Sous quel OS ?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Débutant depuis hier.