- Con este script en PowerCli se pueden migrar los roles entre vCenters Servers
- Las pruebas se realizaron en mi lab con vCenter versión 7.0.3, Powershell 7.02 y PowerCli 13.
<# =========================================================================== Creado por: Cecilia Checchia Blog: www.ceciliachecchia.com =========================================================================== # Script para migrar roles entre vCenter Servers =========================================================================== #> # Definir vCenter de origen y de destino para la migración $SourceVC = 'FQDN_NAME' $TargetVC = 'FQDN_NAME' # Permitir varias conexiones de vCenter Set-PowerCLIConfiguration -DefaultVIServerMode multiple -Confirm:$false # Conectar ambos vCenter Connect-VIServer -Server $SourceVC -Protocol https -User xxx@xxx.xxx -Password xxxxxxxxxx Connect-VIServer -Server $TargetVC -Protocol https -User xxx@xxx.xxx -Password xxxxxxxxxx # Listar los roles desde el vCenter de origen Get-ViRole -server $SourceVC | Format-List Name # Seleccionar el rol que se quiere migrar $RoleMigrateQuestion='¿Quieres migrar los roles listados de vCenter Origen? [Y/N]: ' do{ $response = Read-Host -Prompt $RoleMigrateQuestion if ($response -eq 'y') { $RoleName = Read-Host -Prompt '¿Que rol desea migrar? [Rolename]: ' # Privilegio de Rol $RolePrivilege = Get-VIPrivilege -Role $RoleName | %{$_.id} # Crear rol en el vCenter de destino New-VIRole -name $RoleName -Server $TargetVC # Copie los mismos privilegios al nuevo rol creado $RolePrivilege | foreach-object {Set-VIRole -Role $RoleName -AddPrivilege (Get-VIPrivilege -ID $_ -server $TargetVC )} Write-Host 'Migration of Role succeeded!' -ForegroundColor Yellow } # Salir de la consulta } until ($response -eq 'n') # Desconectar ambos vCenters disconnect-viserver –server $SourceVC, $TargetVC