Dans les environnements comportant de nombreux hôtes, la gestion des hôtes avec des scripts est plus rapide et moins susceptible de provoquer des erreurs que la gestion des hôtes depuis vSphere Client.

vSphere inclut plusieurs langages de script pour la gestion des hôtes. Reportez-vous à la Documentation sur la ligne de commande de vSphere et à la Documentation sur vSphere API/SDK pour obtenir des informations de référence et des astuces de programmation, et pour accéder à des communautés VMware afin d'obtenir des conseils supplémentaires sur la gestion par scripts. La documentation de l'administrateur de vSphere est principalement axée sur l'utilisation de vSphere Client pour la gestion.
vSphere PowerCLI

VMware vSphere PowerCLI est une interface Windows PowerShell avec vSphere API. Elle inclut des applets de commande PowerShell pour l'administration des composants vSphere.

vSphere PowerCLI inclut plus de 200 applets de commande, un ensemble d'exemples de scripts et une bibliothèque de fonctions pour la gestion et l'automatisation. Reportez-vous à la Documentation de vSphere PowerCLI.

vSphere Command-Line Interface (vCLI)
vCLI inclut un ensemble de commandes pour la gestion des hôtes ESXi et des machines virtuelles. Le programme d'installation, qui installe également le vSphere SDK for Perl, s'exécute sur les systèmes Windows ou Linux, et installe des commandes ESXCLI, des commandes vicfg- et un ensemble d'autres commandes vCLI. Reportez-vous à la Documentation de vSphere Command-Line Interface.

À partir de vSphere 6.0, vous pouvez également utiliser l'une des interfaces de script au vCloud Suite SDK, comme vCloud Suite SDK for Python.

Procédure

  1. Créez un rôle personnalisé ayant des privilèges limités.
    Par exemple, considérez la création d'un rôle disposant d'un ensemble de privilèges pour la gestion d'hôtes mais sans privilège pour la gestion de machines virtuelles, du stockage ou de la mise en réseau. Si le script que vous souhaitez utiliser extrait uniquement des informations, vous pouvez créer un rôle disposant de privilèges de lecture seule pour l'hôte.
  2. Dans vSphere Client, créez un compte de service et attribuez-lui le rôle personnalisé.
    Vous pouvez créer plusieurs rôles personnalisés avec différents niveaux d'accès si vous souhaitez que l'accès à certains hôtes soit assez limité.
  3. Écrivez des scripts pour effectuer la vérification ou la modification de paramètres, puis exécutez-les.
    Par exemple, vous pouvez vérifier ou définir le délai d'expiration interactif du shell d'un hôte de la façon suivante :
    Langue Commandes
    vCLI (ESXCLI)
    esxcli <conn_options> system settings advanced get /UserVars/ESXiShellTimeOut
    esxcli --formatter=csv --format-param=fields="Path,Int Value" 
    system settings advanced list | grep /UserVars/ESXiShellTimeOut
    PowerCLI
    #List UserVars.ESXiShellInteractiveTimeOut for each host
    Get-VMHost | Select Name,
     @{N="UserVars.ESXiShellInteractiveTimeOut";E={$_ 
    | Get-AdvancedSetting -Name UserVars.ESXiShellInteractiveTimeOut
    | Select -ExpandProperty Value}}
    
    # Set UserVars.ESXiShellTimeOut to 900 on all hosts
    Get-VMHost 
    | Foreach { Get-AdvancedSetting -Entity $_ -Name UserVars.ESXiShellInteractiveTimeOut | Set-AdvancedSetting -Value 900 }
    
  4. Dans les environnements de grande envergure, créez des rôles avec des privilèges d'accès différents et des hôtes du groupe dans des dossiers en fonction des tâches que vous souhaitez effectuer. Vous pouvez ensuite exécuter des scripts sur les différents dossier depuis les différents comptes de service.
  5. Vérifiez que les modifications ont été appliquées après l'exécution de la commande.