RASInsider
← Todos los artículos
7 de abril de 2026 / Guías / PowerShell y automatización / 4 min de lectura

Dominar la API de PowerShell de Parallels RAS: lo básico

Dominar la API de PowerShell de Parallels RAS: lo básico

Cuando se piensa en Parallels RAS, la mayoría de los administradores piensan en su interfaz gráfica. Sin embargo, hay mucho más allá de esa consola, sobre todo cuando se usa la API de PowerShell de Parallels RAS para gestionar recursos y usuarios. Gracias a la API de PowerShell de Parallels (módulo RASAdmin), es posible automatizar todas las operaciones de administración: publicación de aplicaciones, gestión de filtros de acceso, aprovisionamiento de certificados, integración de tenants… Todo se puede programar, versionar e integrar en tus pipelines de CI/CD o en tus herramientas ITSM.

Este artículo ofrece una visión general de las capacidades de la API de PowerShell, sus ventajas concretas para los equipos de TI, los requisitos técnicos y una serie de laboratorios progresivos para practicar.

Lo que puede hacer la API de PowerShell de Parallels RAS

La regla de oro es sencilla: todo lo que se puede hacer en la consola gráfica de Parallels RAS se puede hacer con la API de PowerShell. Estas son las principales categorías de operaciones:

1. Gestión de recursos publicados

  • Publicar aplicaciones y escritorios remotos
  • Aplicar filtros de acceso (usuarios/grupos, rangos de IP, tipos de cliente…)
  • Gestionar reglas de autorización y denegación sobre los elementos publicados

2. Gestión de certificados

  • Crear y desplegar certificados SSL (manuales o con Let’s Encrypt)
  • Configurar las renovaciones automáticas
  • Asociar certificados a los Secure Gateways o a los balanceadores de carga

3. Arquitectura multitenant

  • Unir un Tenant Broker desde un script
  • Generar claves secretas para el registro de tenants
  • Automatizar la incorporación de nuevos entornos

4. Configuración global de la granja

  • Gestionar brokers, gateways y pools de servidores RDS
  • Aplicar configuraciones de forma idempotente
  • Integrar Parallels RAS en Ansible, Terraform o scripts de despliegue

Además, el módulo de PowerShell RASAdmin expone todos los recursos a través de una API REST (puerto 20443), lo que permite integrarlo desde cualquier lenguaje o plataforma.

Ventajas de la automatización con la API de PowerShell

Ahorro de tiempo y coherencia

En lugar de repetir a mano las mismas operaciones en cada nuevo entorno, un script de PowerShell garantiza una configuración idéntica en cada ejecución. Se acabaron los olvidos y los errores humanos de configuración.

Integración en pipelines DevOps

Los scripts de RASAdmin pueden ejecutarse desde Azure DevOps, GitHub Actions, Jenkins o cualquier otro sistema de CI/CD. Esto abre la puerta al aprovisionamiento de tus entornos Parallels RAS como «infraestructura como código».

Trazabilidad y auditoría

Un script versionado en Git es un historial claro de cada cambio en la infraestructura. Ante un incidente, se puede volver a aplicar o deshacer una configuración concreta.

Escalabilidad

Por tanto, gestiones 5 o 500 tenants, el esfuerzo de administración se mantiene constante. Un solo script puede aprovisionar decenas de entornos en cuestión de segundos.

Multiplataforma gracias a REST

Más allá de PowerShell, la API REST de Parallels RAS permite interactuar desde cualquier herramienta capaz de hacer peticiones HTTP: Postman, Python, aplicaciones web, etc.

Requisitos previos

  • Windows Server (o un puesto Windows) con PowerShell 5.1 o PowerShell 7+
  • Parallels RAS instalado (con el Connection Broker en marcha)
  • Acceso de red al servidor que aloja el Connection Broker
  • Cuenta de administrador de RAS con derechos suficientes

Instalar el módulo RASAdmin

Opción 1. Para empezar, si prefieres una instalación gráfica, puedes lanzar el instalador estándar de Parallels RAS. Después, elige «Custom installation» y selecciona el componente «Parallels RAS PowerShell».

Opción 2. Instalación silenciosa (MSI):

msiexec /i RASInstaller-*.msi ADDLOCAL=F_PowerShell /qn

Importante: la versión de los binarios de RAS PowerShell debe coincidir exactamente con la del RAS Connection Broker. Una versión distinta provoca errores de conexión.

Comprobar e importar el módulo

Import-Module RASAdmin
Get-Command -Module RASAdmin

Documentación completa: https://docs.parallels.com/landing/ras-powershell-api-guide

Serie de laboratorios: práctica

0. Conexión y primer comando

$username = "apiuser"
$password = "YourPassword!"
$server = "rasbroker.your-domain.local"
$passwordEnc = ConvertTo-SecureString $password -AsPlainText -Force
New-RASSession -Username $username -Password $passwordEnc -Server $server
Get-RASBroker
Remove-RASSession

1. Publicar una aplicación y un escritorio

$passwordEnc = ConvertTo-SecureString $password -AsPlainText -Force
New-RASSession -Username $username -Password $passwordEnc -Server $server
$pool = Get-RASRDSHostPool -Name "RDSH Pool"
$desktop = New-RASPubRDSDesktop -Name "MyDesktop" -PublishFrom HostPool -PublishFromHostPoolIds $pool.Id -DesktopSize UseAvailableArea
$app = New-RASPubRDSApp -Name "Paint" -PublishFrom HostPool -PublishFromHostPoolIds $pool.Id -Target "%windir%system32mspaint.exe"
Invoke-RASApply
Remove-RASSession

2. Añadir filtros de acceso

New-RASSession -Username $username -Password $passwordEnc -Server $server
$app = Get-RASPubRDSApp -Name "Paint"
Add-RASRule -Id $app.Id -ObjType PubItem -RuleName "MyFilter"
$rules = Get-RASRule -Id $app.Id -ObjType PubItem
Set-RASCriteria -Id $app.Id -ObjType PubItem -SecurityPrincipalsEnabled $true -IPsEnabled $true -RuleId $rules[0].Id
Add-RASCriteriaSecurityPrincipal -Id $app.Id -ObjType PubItem -RuleId $rules[0].Id -Account "Guests"
Add-RASCriteriaIP -Id $app.Id -ObjType PubItem -RuleId $rules[0].Id -IPType Version4 -IP "192.168.1.1-192.168.1.50"
Set-RASPubItemFilter -Id $app.Id -Default Deny
Invoke-RASApply
Remove-RASSession

3. Crear un certificado Let’s Encrypt

New-RASSession -Username $username -Password $passwordEnc -Server $labServer
Set-RASLetsEncryptSettings -SiteID 1 -TermsAccepted $true
Invoke-RASApply
New-RASCertificate -Name "CertGateway" -CommonName "ras.your-public-domain.com" -Email "[email protected]" -LetsEncrypt -Enabled $true -Organisation "Your Organisation" -KeySize KeySize2048 -Usage Gateway
Invoke-RASApply
Remove-RASSession

4. Unir un Tenant Broker

New-RASSession -Username $username -Password $password -Server $tenantBroker
Set-RASTenantBrokerSettings -AllowRegistrationWithSecretKey $true
Invoke-RASApply
$secretKey = Invoke-RASTenantBrokerSettings -Command GenerateHash
Invoke-RASApply
Remove-RASSession
New-RASSession -Username $username -Password $password -Server $labServer
Invoke-RASTenantBroker -Join -HashKey $secretKey -TenantBroker $tenantBroker -PublicDomainAddresses "lab1.your-public-domain.com" -TenantName $labServer
Invoke-RASApply
Remove-RASSession

Buenas prácticas

  • No guardes nunca contraseñas en texto plano: usa el Administrador de credenciales de Windows, Azure Key Vault o los secretos de tu CI/CD.
  • Llama siempre a Invoke-RASApply: sin esta llamada, los cambios quedan pendientes.
  • Cierra bien la sesión: usa Remove-RASSession dentro de un bloque try/finally.
  • Versiona tus scripts: guárdalos en Git para tener trazabilidad y poder volver atrás.

Recursos oficiales:

Conclusión

¿Quieres ver RASInsider primero en las noticias de Google?Añadir RASInsider como fuente preferida en Google

¿Te ha sido útil este artículo?