Question Publier des fonctions

Plus d'informations
il y a 12 ans 1 mois #11264 par Selenae
Publier des fonctions a été créé par Selenae
Bonjour,

Dans l'entreprise ou je travaille nous utilisons de nombreuses fonctions au quotidien. Ces fonctions ce trouve dans des fichiers .ps1 présent chez chaque utilisateurs.

j'aimerais mettre en place une gestion centralisé de ces fonctions. Le but est que si je modifie/ajoute une fonction, cette modification se répercute chez tout le monde.

Je pense que pour faire ca je dois
- créer un module contenant mes fonctions et placer celui-ci sur un serveur.
- Modifier le profil de chaque utilisateur pour qu'il charge se module.

Pourriez-vous me dire si c'est la meilleur facon de procéder et me donner une idée de comment mettre cela en place

Je vous remercie d'avance

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

Plus d'informations
il y a 12 ans 1 mois #11274 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Publier des fonctions
Salut,
Selenae écrit:

- Modifier le profil de chaque utilisateur pour qu'il charge se module.

Dans le profile machine, pas besoin de dupliquer le profil utilisateur.
Selenae écrit:

Pourriez-vous me dire si c'est la meilleur facon de procéder

La meilleure je ne sais pas, en tout cas elle me semble cohérente.
Selenae écrit:

me donner une idée de comment mettre cela en place

:huh:
C'est à dire ? De quelles infos as-tu besoin ?

Tutoriels PowerShell

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

Plus d'informations
il y a 12 ans 1 mois #11302 par Selenae
Réponse de Selenae sur le sujet Re:Publier des fonctions
Bonjour Laurent,

Mon problème c'est que je ne vois pas clairement comment mettre cela en place. Dans ma tête c'est clair mais l'ecrire est plus compliqué.
Donc quand les utilisateurs de mon entreprise lance leur session Powershell il faut que le profil de celle-ci contienne une fonction qui :
- Va vérifier que le module toto ( par exemple ) est bien installé
- Si c'est le cas va vérifier sa version par rapport a la version du module publié dans un share
- Si elle est moins recente, le script doit installer la nouvelle version du module.

Voila c'est cette pour cette partie que je ne sais pas comment m'y prendre. Aurais tu un exemple de code a me donner ou un tutorial à appliquer ?

Un grand merci

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

Plus d'informations
il y a 12 ans 1 mois #11304 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Publier des fonctions
Selenae écrit:

Dans ma tête c'est clair

C'est le principal ;)
Selenae écrit:

mais l'ecrire est plus compliqué.

Il n'y a là rien de complexe, il te manque juste qq informations.
Selenae écrit:

Donc quand les utilisateurs de mon entreprise lance leur session Powershell il faut que le profil de celle-ci contienne une fonction

Pour moi, mais je ne connais ton infrastructure, le profile machine (All Users, All Hosts ) est le plus adapté, ainsi tu protéges ton script et laisse la possibilité aux utilisateurs avancé de modifier le leur.
Selenae écrit:

1- Va vérifier que le module toto ( par exemple ) est bien installé
2- Si c'est le cas va vérifier sa version par rapport a la version du module publié dans un share
3- Si elle est moins recente, le script doit installer la nouvelle version du module.

Pour le 3 un fichier manifest de module (.psd1) t'aidera, un de ces usages est le versionning, \"enfin presque\", mais c'est une autre discussion...
Pour le 2, dans un premier temps le share doit être vu comme un lieu de stockage temporaire (lecture et écriture), mais pas l'éxécution, sinon il te faudra modifier la configuration intranet de chaque poste.
Pour le 1 il faut savoir où tu veux placer ton module, la variable système %PSModulePath% peut être à modifier, à moins d'utiliser les chemins existant par défaut :
[code:1]
$env:«»Psmodulepath -split ';'
#C:\Documents and Settings\USERACCOUNT\Mes documents\WindowsPowerShell\Modules
#C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\
[/code:1]
La présence peut être valider par :
[code:1]
Get-Module -ListAvailable
[/code:1]
Ou via Import-module associé à une gestion d'erreur.

Un module peut aussi utiliser des données propres à chaque utilisateur, ce n'est certainement pas ton besoin, mais c'est peut être un point à envisager.
Selenae écrit:

Aurais tu un exemple de code a me donner

Si tu as le temps on peut le faire au fil de l'eau, mais un point à la fois et sans engagement sur le temps, en même temps d'autres 'forumeurs' peuvent participer.
Selenae écrit:

ou un tutorial à appliquer ?

J'en ai un en cours sur les modules, et je me demande si je ne vais pas le scinder en deux parties. Compte une ou deux semaines avec sa publication.
Selenae écrit:

Un grand merci

Pas de discrimination, les petits merci sont aussi acceptés :P

Tutoriels PowerShell

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

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