Afin d’accélérer les déploiements et d’éviter les erreurs, j’ai conçu un script Powershell (basé sur un script VMware) dont le but est d’ajouter un rôle dans vCenter pour l’utilisateur vCenter avec Instant-Clones (compte défini dans Horizon).
Ce script est spécifique à vCenter 8.0 mais il peut facilement être adapté à une version antérieure.
Il va créer un rôle nommé “Horizon” avec uniquement les privilèges nécessaires.
Préquis
- vCenter 8.0+
- Machine Windows avec VMware PowerCLI
- Autorisation de lancer des scripts Powershell (Set-ExecutionPolicy)
- Compte administrateur du vCenter
Utilisation
- Télécharger le script lien
- Modifier la variable $viserver avec le fqdn de votre vCenter
- Exécuter le script
Import-Module VMware.VimAutomation.Core
$Role = "Horizon"
$viserver = "vcenter.domaine.local"
Connect-VIServer -server $viServer
$RoleIds = @()
# Opérations cryptographiques
"Cryptographer.Access", "Cryptographer.Clone", "Cryptographer.Decrypt",
"Cryptographer.Encrypt", "Cryptographer.ManageKeyServers", "Cryptographer.Migrate", "Cryptographer.RegisterHost",
# Banque de données
"Datastore.AllocateSpace", "Datastore.Browse",
# Dossier
"Folder.Create", "Folder.Delete",
# Global
"Global.DisableMethods", "Global.EnableMethods", "Global.ManageCustomFields",
"Global.SetCustomField", "Global.VCServer",
# Hote
"Host.Config.AdvancedConfig", "Host.Inventory.EditCluster",
# Reseau
"Network.Assign",
# Ressource
"Resource.AssignVMToPool", "Resource.HotMigrate",
# strategies de stockage de machine virtuelle
"StorageProfile.Apply", "StorageProfile.EditPermissions", "StorageProfile.Update",
"StorageProfile.View", "StorageProfile.ViewPermissions", "System.Anonymous",
# Systeme
"System.Read", "System.View",
# Machine virtuelle / Configuration
"VirtualMachine.Config.AddExistingDisk", "VirtualMachine.Config.AddNewDisk", "VirtualMachine.Config.AddRemoveDevice",
"VirtualMachine.Config.AdvancedConfig", "VirtualMachine.Config.Annotation", "VirtualMachine.Config.CPUCount",
"VirtualMachine.Config.ChangeTracking", "VirtualMachine.Config.DiskExtend", "VirtualMachine.Config.DiskLease",
"VirtualMachine.Config.EditDevice", "VirtualMachine.Config.HostUSBDevice", "VirtualMachine.Config.ManagedBy",
"VirtualMachine.Config.Memory", "VirtualMachine.Config.MksControl", "VirtualMachine.Config.QueryFTCompatibility",
"VirtualMachine.Config.QueryUnownedFiles", "VirtualMachine.Config.RawDevice", "VirtualMachine.Config.ReloadFromPath",
"VirtualMachine.Config.RemoveDisk", "VirtualMachine.Config.Rename", "VirtualMachine.Config.ResetGuestInfo",
"VirtualMachine.Config.Resource", "VirtualMachine.Config.Settings", "VirtualMachine.Config.SwapPlacement",
"VirtualMachine.Config.ToggleForkParent", "VirtualMachine.Config.UpgradeVirtualHardware", "VirtualMachine.Interact.DeviceConnection",
# Machine virtuelle / Interaction
"VirtualMachine.Interact.PowerOff", "VirtualMachine.Interact.PowerOn", "VirtualMachine.Interact.Reset",
"VirtualMachine.Interact.SESparseMaintenance", "VirtualMachine.Interact.Suspend", "VirtualMachine.Inventory.Create",
# Machine virtuelle / Inventaire
"VirtualMachine.Inventory.CreateFromExisting", "VirtualMachine.Inventory.Delete", "VirtualMachine.Inventory.Move",
"VirtualMachine.Inventory.Register", "VirtualMachine.Inventory.Unregister",
# Machine virtuelle / Provisionnement
"VirtualMachine.Provisioning.Clone", "VirtualMachine.Provisioning.CloneTemplate", "VirtualMachine.Provisioning.Customize", "VirtualMachine.Provisioning.DiskRandomAccess",
"VirtualMachine.Provisioning.ReadCustSpecs", "VirtualMachine.Provisioning.DeployTemplate",
# Machine virtuelle / Gestion des snapshots
"VirtualMachine.State.CreateSnapshot", "VirtualMachine.State.RemoveSnapshot",
"VirtualMachine.State.RenameSnapshot", "VirtualMachine.State.RevertToSnapshot" |
Foreach-Object{
$RoleIds += $_
}
New-VIRole -name $Role -Privilege (Get-VIPrivilege -Server $viserver -id $RoleIds) -Server $viserver
Set-VIRole -Role $Role -AddPrivilege (Get-VIPrivilege -Server $viserver -id $RoleIds) -Server $viserver
- Ajouter une nouvelle autorisation à la racine du vCenter pour l’utilisateur vCenter avec le rôle Horizon
ℹ️ Il faut parfois se délogger de vSphere Web Client pour voir apparaître le nouveau rôle.
Ludovic
Consultant Technique
Laisser un commentaire