Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Published by Scroll Versions from space DA and version BM-4.0
Sv translation
languagefr

Présentation

Le client CLI (« Command Line Interface » = Interface de lignes de commandes) permettant d'effectuer des tâches d'administration de la plateforme BlueMind directement en ligne de commande, sans avoir à créer de scripts pour cela.

Couplé au système de monitoring bm-tick, il permet notamment des tâches d'administration de celui-ci.

Cette page vous présente l'utilisation du client, avec des exemples pratiques. Vous retrouverez dans la sous-page dédiée la Référence détaillée des commandes bm-cli.

Installation

Le client bm-cli est installé par défaut dans BlueMind 4.

Un composant additionnel permettant des opération de gestion de mapi pour Outlook est, lui, optionnel et peut être installé simplement en installant le paquet correspondant :

Bloc de code
$ aptitude install bm-plugin-cli-mapi
Info

Aucun redémarrage de service n'est nécessaire, les commandes sont directement utilisables

Volet
borderWidth3

Sur cette page :

Sommaire
maxLevel2

En rapport :

Reference des commandes bm-cli

Fonctionnement

Les commandes

Les commandes sont passées via un terminal directement sur le serveur, connecté en ssh par exemple.

Par exemple, une commande permettant de connaître les carnets d'adresses d'un utilisateur :

Bloc de code
root@mail:~# bm-cli contact list jdoe@bluemind.loc
{"owner":"05E25C2C-3643-4ED2-997C-4A4F39933D18","uid":"book:Contacts_05E25C2C-3643-4ED2-997C-4A4F39933D18","name":"My contacts"}
{"owner":"05E25C2C-3643-4ED2-997C-4A4F39933D18","uid":"book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18","name":"Collected contacts"}
{"owner":"05E25C2C-3643-4ED2-997C-4A4F39933D18","uid":"408C741B-3FDC-44B6-B1FD-19E79404BFCF","name":"Perso"}

Obtenir de l'aide

Remarque

Les commandes sont enrichies au fur et à mesure des versions de BlueMind. Il se peut donc que vous ayez plus (ou moins) de commandes selon la version de votre installation.

Il est donc important de se référer à la commande "bm-cli help" afin de savoir quelles sont celles que vous pouvez utiliser.

Par exemple :

Bloc de code
# bm-cli help
usage: bm-cli <command> [<args>]

The most commonly used bm-cli commands are:
    calendar      calendar task(s)
    contact       contact task(s)
    help          Display help information
    maintenance   maintenance task(s)
    tick          tick task(s)
    user          user task(s)

See 'bm-cli help <command>' for more information on a specific command.

L'installation, ici en 3.5.11, bénéficie ici des commandes calendar, contact et user qui n'étaient pas présentes sur les versions antérieures.

À tout moment vous pouvez obtenir de l'aide sur une commande, une sous-commande, son usage et ses options au moyen de "help".

Par exemple "help maintenance" vous présente la commande maintenance et ses diverses actions possibles :

Bloc de code
# bm-cli help maintenance
NAME
        bm-cli maintenance - maintenance task(s)

SYNOPSIS
        bm-cli maintenance
        bm-cli maintenance consolidateIndex [--workers <workers>]
        bm-cli maintenance list [--workers <workers>]
        bm-cli maintenance repair [--dry] [--workers <workers>]

COMMANDS
        With no arguments, List directory entries

        list
            List directory entries
...

Pour obtenir plus de détail sur une sous-commande, il vous suffit de taper la sous-commande à son tour, ici pour obtenir l'aide concernant l'opération de consolidation d'index :

Bloc de code
# bm-cli help maintenance consolidateIndex
NAME
        bm-cli maintenance consolidateIndex - Consolidate a mailbox index

SYNOPSIS
        bm-cli maintenance consolidateIndex [--workers <workers>] [--] <target>

OPTIONS
        --workers <workers>
            run with X workers
...

Exemples pratiques

Administration & Maintenance

Effectuer un check&repair global

La commande suivante permet d'effectuer l'opération "valider et réparer" sur l'ensemble des utilisateurs du domaine en utilisant 4 threads :

Bloc de code
bm-cli maintenance repair domain.net --workers 4

Modifier le mot de passe admin0

Pour diverses raisons, techniques ou pratiques (en cas de perte, par exemple), il peut être utile de modifier le mot de passe de l'utilisateur admin0 sans avoir à se loguer dans BlueMind.

La commande suivante permet de le faire sans connaître l'ancien mot de passe :

Bloc de code
bm-cli user update admin0@global.virt --password "NewPassword"

Mettre à jour la configuration tick

Lorsque l'outil de monitoring Bm-Tick est installé, il est possible d'effectuer des tâches d'administration sur celui-ci. Par exemple, vous pouvez redéployer la configuration sur l'ensemble des serveurs du domaine avec la commande suivante :

Bloc de code
# bm-cli tick reconfigure
Astuce

L'option --dry permet de tester la commande : l'opération est juste simulée

Bloc de code
# bm-cli tick reconfigure --dry

Mettre à jour BlueMind

À partir de BlueMind 4.1, si la souscription le permet et que les paquets adéquats sont installés, la mise à jour de BlueMind peut se faire complètement en ligne de commande, sans passer par l'exécution de l'assistant via navigateur :

Tabs group
borderall-sides
navcolornavy
Debian/UbuntuRedhat/CentOS

Gestion des utilisateurs

Supprimer les utilisateurs archivés (suspendus) du domaine

Les commandes peuvent être couplées afin d'effectuer plusieurs opérations en une seule fois.

Par exemple, avec la commande ci-dessous on recherche les adresses emails des utilisateurs suspendus :

Bloc de code
bm-cli user get domain.net --archived --display "email"

Il est alors possible de coupler le retour de cette commande avec une commande "delete" afin de supprimer les utilisateurs retournés :

Bloc de code
bm-cli user get local.lan --display "email" | jq -r '.[].email' > /tmp/archived.txt
while read account; do bm-cli user delete --dry $account ;done < /tmp/archived.txt

Opérations sur les calendriers

Partager les calendriers de tous les utilisateurs vers un utilisateur

Il peut s'avérer utile qu'un utilisateur ait des droits d'accès sur les calendriers de tous les autres utilisateurs sans pour autant qu'il soit désigné administrateur (par exemple une secrétaire devant pouvoir voir/créer des événements pour l'ensemble des collaborateurs). Afin d'éviter la tâche laborieuse de passer sur toutes les fiches d'administration des utilisateurs pour activer un partage, il est possible de réaliser cela en ligne de commande.

Cette opération n'est pas réalisable en une seule commande, néanmoins il est possible de réaliser une boucle récupérant l'ensemble des utilisateurs du domaine puis activant un partage pour chacun d'eux :

Bloc de code
bm-cli users get domain.net > /tmp/allUser.domain.net
while read account; do bm-cli calendar share $account « default » toto@domain.net r;done < /tmp/allUser.domain.net

Opérations sur les contacts

Exemple de procédure pour nettoyer le carnet des collectés d'un utilisateur puis transférer les contacts vers son carnet personnel (en testant au préalable l'import) :

Bloc de code
root@mail:~# bm-cli contact list jdoe@bluemind.loc
{"owner":"05E25C2C-3643-4ED2-997C-4A4F39933D18","uid":"book:Contacts_05E25C2C-3643-4ED2-997C-4A4F39933D18","name":"My contacts"}
{"owner":"05E25C2C-3643-4ED2-997C-4A4F39933D18","uid":"book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18","name":"Collected contacts"}
{"owner":"05E25C2C-3643-4ED2-997C-4A4F39933D18","uid":"408C741B-3FDC-44B6-B1FD-19E79404BFCF","name":"Perso"}
root@mail:~# bm-cli contact deduplicate jdoe@bluemind.loc --addressbook-uid book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18
2 were removed out of 35
root@mail:~# bm-cli contact export jdoe@bluemind.loc --vcf-file-path /tmp/jdoe-collected.vcf --addressbook-uid book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18
addressbook book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18 of jdoe@bluemind.loc was exported
root@mail:~# bm-cli contact import jdoe@bluemind.loc --vcf-file-path /tmp/jdoe-collected.vcf --addressbook-uid 408C741B-3FDC-44B6-B1FD-19E79404BFCF --dry
DRY : AddressBook 408C741B-3FDC-44B6-B1FD-19E79404BFCF of jdoe@bluemind.loc was imported
root@mail:~# bm-cli contact import jdoe@bluemind.loc --vcf-file-path /tmp/jdoe-collected.vcf --addressbook-uid 408C741B-3FDC-44B6-B1FD-19E79404BFCF
AddressBook 408C741B-3FDC-44B6-B1FD-19E79404BFCF of jdoe@bluemind.loc was imported
root@mail:~# bm-cli contact reset jdoe@bluemind.loc --addressbook-uid book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18
Addressbook book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18 of jdoe@bluemind.loc was reset

Maintenance

L'outil bm-cli permet d'effectuer des opérations de maintenance sur les utilisateurs, comme par exemple :

Bloc de code
bm-cli maintenance repair user@domain.net			#réparer l'utilisateur user@domain.net
bm-cli maintenance repair domain.net --numworkers 4	#réparer l'ensemble des utilisateurs du domaine en utilisant 4 threads
bm-cli maintenance consolidateIndex user@domain.net	#consolider l'index de l'utilisateur user@domain.net
bm-cli maintenance consolidateIndex domain.net --from 0 --size 100 #traite les 100 premiers utilisateurs retournés
bm-cli maintenance consolidateIndex domain.net --from 101 --size 50 #traite les 50 utilisateurs suivants
bm-cli maintenance consolidateIndex domain.net --match '[a-c].*' # traite les entités commencant par a, b ou c

Ancre
install
install
Installation et mise à jour

La souscription donnant accès aux mises à jour automatisées de BlueMind, elle donne aussi accès à des opérations supplémentaires du client bm-cli pour celles-ci.

Avertissement

Ces opérations étant sensibles et risquées, ce sont des commandes à réserver à une utilisation par des administrateurs avancés.

Pour disposer de ces commandes, il est nécessaire d'installer le plugin dédié :

Bloc de code
apt install bm-plugin-cli-setup

Commandes

La commande supplémentaire "setup" est disponible dès l'installation du plugin :

Bloc de code
bm-cli help setup	#obtenir de l'aide sur les arguments disponibles et leur utilisation
bm-cli setup install --external-url bluemind.domain.net --domain domain.net --sw-pass Passw0rd
bm-cli setup install --external-url bluemind.domain.net --domain domain.net --sw-pass Passw0rd --set-contact admin@domain.net --reinstall
bm-cli setup upgrade #lance la procédure de mise à jour post-installation en lieu et place du déroulement de l'url https://<domain.net>/setup via un navigateur
  • --external-url : url externe du BlueMind
  • --domain : domaine
  • --set-contact : permet de positionner l'adresse de messagerie par défaut pour les notifications de l'expiration de la souscription
  • --sw-pass : permet de positionner le mot de passe de l'admin pour le setupwizard

Procédure de mise à jour

Pour réaliser une mise à jour de l'installation en ligne de commande au moyen de l'outil bm-cli, la procédure suit le même déroulement que pour une mise à jour classique :

  1. Préparation de la mise à jour :
    NB : cette commande est disponible à partir de la version 3.5.14
    La commande "bm-cli setup" permet de paramétrer la version vers laquelle on souhaite mettre à jour.
    • saisir la commande suivante pour mettre à jour dans la dernière version disponible :

      Bloc de code
      bm-cli setup version latest
    • pour mettre à jour dans une version particulière, passer le numéro de la version en paramètre :

      Bloc de code
      bm-cli setup version 3.5.14-2

      NB : l'utilisation du numéro de version majeure ("3.5" ou "4" par exemple) aura les mêmes effets que l'option "latest" : la dernière version mineure disponible de celle-ci sera installée

    • pour bloquer la version et empêcher les mises à jour dans une version supérieure :

      Bloc de code
      bm-cli setup version current
  2. Mettre à jour les paquets :

    Remarque

    Si vous souhaitez limiter le temps d'interruption des services, vous pouvez passer la commande de mise à jour avec l'option "download-only" afin dans un premier temps de ne faire que télécharger l'ensemble des paquets.

    N'entrainant pas d'interruption ni de ralentissement des services, cette action peut être réalisée à n'importe quel moment de la journée ou de la nuit.

    On pourra ensuite lancer au moment le plus opportun la commande "upgrade" de mise à jour effective des paquets, qui entrainera donc une coupure de service plus réduite.

    Tabs group
    borderall-sides
    navcolornavy
    Debian/UbuntuRedhat/CentOS
  3. Lancer la procédure de mise à jour :

    Bloc de code
    bm-cli setup upgrade
Sv translation
languageen

Introduction

The CLI (Command Line Interface) client is used to perform BlueMind administration tasks in command line without having to create scripts.

When coupled with the bm-tick monitoring system, it can be used, among others, to manage it.

This page provides installation and use information, including practical examples. A dedicated sub-page provides more details on bm-cli commands.

Installation

The bm-cli client is installed by default with BlueMind 4.

There is an additional component for the Outlook MAPI which is optional and can be installed using the corresponding package:

Bloc de code
$ aptitude install bm-plugin-cli-mapi
Info

No restart is required, the commands can be used immediately.

Volet
borderWidth3

On this page:

Sommaire
maxLevel2

Related:

Reference des commandes bm-cli

Using the client

Commands

Commands are passed using a terminal straight onto the server, connected via ssh for instance.

For example, the command below can help you find a user's address books:

Bloc de code
root@mail:~# bm-cli contact list jdoe@bluemind.loc
{"owner":"05E25C2C-3643-4ED2-997C-4A4F39933D18","uid":"book:Contacts_05E25C2C-3643-4ED2-997C-4A4F39933D18","name":"My contacts"}
{"owner":"05E25C2C-3643-4ED2-997C-4A4F39933D18","uid":"book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18","name":"Collected contacts"}
{"owner":"05E25C2C-3643-4ED2-997C-4A4F39933D18","uid":"408C741B-3FDC-44B6-B1FD-19E79404BFCF","name":"Perso"}

Getting help

Remarque

Commands are improved with every version of BlueMind. You may have more (or fewer) commands depending on your installation version.

Make sure you use "bm-cli help" to find out which commands are available.

For example:

Bloc de code
# bm-cli help
usage: bm-cli <command> [<args>]

The most commonly used bm-cli commands are:
    calendar      calendar task(s)
    contact       contact task(s)
    help          Display help information
    maintenance   maintenance task(s)
    tick          tick task(s)
    user          user task(s)

See 'bm-cli help <command>' for more information on a specific command.

In this installation – version 3.5.11 – you have calendar, contact and user commands which didn't exist in previous versions.

You can get help on a command, sub-command, how to use it and its options using "help" at any time.

E.g. "help maintenance" shows the maintenance command and the actions it can be used to perform:

Bloc de code
# bm-cli help maintenance
NAME
        bm-cli maintenance - maintenance task(s)

SYNOPSIS
        bm-cli maintenance
        bm-cli maintenance consolidateIndex [--workers <workers>]
        bm-cli maintenance list [--workers <workers>]
        bm-cli maintenance repair [--dry] [--workers <workers>]

COMMANDS
        With no arguments, List directory entries

        list
            List directory entries
...

For more details about a sub-command, type it to get help, e.g. about index consolidation:

Bloc de code
# bm-cli help maintenance consolidateIndex
NAME
        bm-cli maintenance consolidateIndex - Consolidate a mailbox index

SYNOPSIS
        bm-cli maintenance consolidateIndex [--workers <workers>] [--] <target>

OPTIONS
        --workers <workers>
            run with X workers
...

Practical examples

Administration & Maintenance

Performing a domain-wide check&repair 

The following command is used to perform a "check and repair" operation on all domain users using 4 threads:

Bloc de code
bm-cli maintenance repair domain.net --workers 4

Changing the admin0 password

For multiple reasons – technical or practical, e.g. in case it is lost -- you may need to change the admin0 user's password without logging into BlueMind.

The following command allows you to do this without knowing the old password:

Bloc de code
bm-cli user update admin0@global.virt --password "NewPassword"

Updating Tick configuration

When the Bm-Tick monitoring tool is installed, you can use it to perform administration tasks. E.g. you can roll out its configuration on all domain servers again using the following command:

Bloc de code
# bm-cli tick reconfigure
Astuce

Add --dry to test the command: the operation is merely simulated.

Bloc de code
# bm-cli tick reconfigure --dry

Updating BlueMind

From BlueMind 4.1, if your subscription includes it and the packages required are installed, BlueMind can be updated in command line, without running the browser-based wizard:

Tabs group
borderall-sides
navcolornavy
Debian/UbuntuRedhat/CentOS

Operations on users

Deleting archived (suspended) domain users

Commands can be coupled to perform several operations at once. 

E.g. the command below is used to look for the email addresses of suspended users:

Bloc de code
bm-cli user get domain.net --archived --display "email"

You can then couple this command with a "delete" command to remove all the users it returns:

Bloc de code
bm-cli user get local.lan --display "email" | jq -r '.[].email' > /tmp/archived.txt
while read account; do bm-cli user delete --dry $account ;done < /tmp/archived.txt

Operations on calendars

Sharing all user calendars with one user

It may be useful for one user to have access privileges on all user calendars without being given an administrator role (e.g. a secretary might be able to view/create events for all other employees). To avoid having to go through each user's page to enable sharing, this can be done in command line.

This cannot be done with a single command, but you can create a loop which picks up all domain users and enables sharing for each of them:

Bloc de code
bm-cli users get domain.net > /tmp/allUser.domain.net
while read account; do bm-cli calendar share $account « default » toto@domain.net r;done < /tmp/allUser.domain.net

Operations on contacts

The procedure below can be used to clean a user's collected address book and transfer their contacts to their personal address book (and testing the import process beforehand):

Bloc de code
root@mail:~# bm-cli contact list jdoe@bluemind.loc
{"owner":"05E25C2C-3643-4ED2-997C-4A4F39933D18","uid":"book:Contacts_05E25C2C-3643-4ED2-997C-4A4F39933D18","name":"My contacts"}
{"owner":"05E25C2C-3643-4ED2-997C-4A4F39933D18","uid":"book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18","name":"Collected contacts"}
{"owner":"05E25C2C-3643-4ED2-997C-4A4F39933D18","uid":"408C741B-3FDC-44B6-B1FD-19E79404BFCF","name":"Perso"}
root@mail:~# bm-cli contact deduplicate jdoe@bluemind.loc --addressbook-uid book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18
2 were removed out of 35
root@mail:~# bm-cli contact export jdoe@bluemind.loc --vcf-file-path /tmp/jdoe-collected.vcf --addressbook-uid book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18
addressbook book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18 of jdoe@bluemind.loc was exported
root@mail:~# bm-cli contact import jdoe@bluemind.loc --vcf-file-path /tmp/jdoe-collected.vcf --addressbook-uid 408C741B-3FDC-44B6-B1FD-19E79404BFCF --dry
DRY : AddressBook 408C741B-3FDC-44B6-B1FD-19E79404BFCF of jdoe@bluemind.loc was imported
root@mail:~# bm-cli contact import jdoe@bluemind.loc --vcf-file-path /tmp/jdoe-collected.vcf --addressbook-uid 408C741B-3FDC-44B6-B1FD-19E79404BFCF
AddressBook 408C741B-3FDC-44B6-B1FD-19E79404BFCF of jdoe@bluemind.loc was imported
root@mail:~# bm-cli contact reset jdoe@bluemind.loc --addressbook-uid book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18
Addressbook book:CollectedContacts_05E25C2C-3643-4ED2-997C-4A4F39933D18 of jdoe@bluemind.loc was reset