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. Pour obtenir des informations de référence et des conseils de programmation, et accéder aux communautés VMware pour des astuces supplémentaires sur la gestion chiffrée, consultez la Documentation ESXCLI et la Documentation vSphere API/SDK. La documentation de l'administrateur de vSphere est principalement axée sur l'utilisation de vSphere Client pour la gestion.
VMware PowerCLI

VMware PowerCLI est une interface Windows PowerShell avec vSphere API. VMware PowerCLI inclut des applets de commande PowerShell pour administrer les composants vSphere.

VMware PowerCLI inclut des centaines d'applets de commande, un ensemble d'exemples de scripts et une bibliothèque de fonctions pour la gestion et l'automatisation. Reportez-vous à la section https://developer.vmware.com/powercli.

ESXCLI
ESXCLI inclut un ensemble de commandes pour la gestion des hôtes ESXi et des machines virtuelles. Consultez la documentation d'ESXCLI.

Vous pouvez également utiliser l'une des interfaces de script au vSphere Automation SDK, comme le vSphere Automation SDK pour 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
    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.