Horizon Files : créer un dossier pour un utilisateur en cli ou Orchestrator

Lors de la mise en place de Horizon Files, des besoins d’industrialisation pour la création de dossier, de partage, etc sont arrivés assez rapidement.

J’ai donc créé un workflow sous vCenter Orchestrator pour pouvoir ainsi industrialisé ce process.

Je vais vous montrer un workflow tout simple à réaliser pour créer des dossiers dans l’environnement d’un utilisateur.

Je vais vous fournir également le script qui peut être utilisé sans Orchestrator.

J’ai donc créé dans la VM data-va un dossier /script dans lequel j’ai déposé le script qui sera appelé par Orchestrator.

Créer un script et coller la ligne suivante :

su – zimbra -c ‘zmmailbox -z -m ‘$1‘ cf /Briefcase/’$2′

2014-06-02_114545

su – zimbra permet de lancer la commande en tant qu’utilisateur zimbra

La variable $1 correspond au mail de l’utilisateur et $2 au dossier à créer.

Avant de pouvoir executer le script il faut modifier le fichier sudoers afin d’autoriser le compte sshuser à executer le script en tant que root.

Pour cela passer en root :

su – root

puis executer la commande suivante visudo.

2014-06-02_115718

A la fin du fichier rajouter la ligne suivante :

sshuser ALL=NOPASSWD:/script/script.sh

2014-06-02_115803

puis enregistrer le fichier.

Pour ceux qui n’ont pas d’orchestrator et qui souhaite simplement exécuter le script il faut donc l’appeler de la façon suivante :

sudo /script/script.sh adresseemail dossieràcréer

2014-06-02_120009

Dans l’onglet « historique » nous pouvons voir que l’utilsateur « hzndata » a créé le dossier.

2014-06-02_120052

Pour le workflow simple qui va bien, il suffit de procéder comme expliquer ci-dessous :

Ajouter un nouveau workflow (Appelez-le comme bon vous semble)2014-06-02_101146

Ensuite ajouter le workflow « run ssh command » à votre workflow :

2014-06-02_120723

Ajouter ensuite une tâche de script qui va nous permettre de définir la commande à lancer en ssh sur la VM data-va.

2014-06-02_120828

Votre workflow doit ressembler à ceci :

2014-06-02_120925

Pour le workflow d’exécution ssh voici les paramètres à indiquer :

2014-06-02_121004

HostnameOrIP : Adresse IP du serveur DATA-VA

username : dans mon cas j’utilise le compte sshuser

password : pass de l’utilisateur sshuser

cmd : J’ai créé ici un attribu nul qui sera utilisé dans le script

passwordauthentification : Sur YES car je n’utilise pas de keyfile ssh.

Pour les deux autres paramètres, laisser à nul dans notre cas.

Pour le workflow script voici à quoi il doit ressembler :

2014-06-02_121505

Dans les paramètres en input, j’ai créé deux paramètres , mail et folder en tant que « string » et en input afin de pouvoir les définir au lancement du workflow.

Dans les paramètres en output , j’ai appelé l’attribu cmd que nous avons créé dans le workflow précédent.

La variable est donc défini par la commande suivante : cmdhorizoncf  = « sudo /script/script.sh »+ » « +mail+ » « +folder;

Vous pouvez valider et lancer votre Workflow.

2014-06-02_121907

Et voila 😉

Follow me

Julien Varela

Sr. Systems Engineer et blogger @vThink. Je suis passionné par les nouvelles technologies. Et tout particulièrement, celles concernant la virtualisation. j'ai su apporter par mon autonomie, ma curiosité, ma pugnacité et ma technicité mon expertise dans ce domaine.
Follow me

Laisser un commentaire