Realice copias de seguridad automáticas de los conjuntos de configuración mediante las API WEM y Windows PowerShell
Como administrador de Workspace Environment Management (WEM), es posible que necesite hacer copias de seguridad de sus conjuntos de configuración de forma regular para evitar que se pierdan los ajustes. Es posible que desee activar la copia de seguridad, por ejemplo, cada 12 horas y administrar los archivos de respaldo de forma local y automática. Con las API públicas de WEM y Windows PowerShell, puede lograr ese objetivo.
Un flujo de trabajo general es el siguiente:
- Solicite un cliente de API de Citrix Cloud
- Escriba un script de PowerShell para hacer copias de seguridad de sus conjuntos de configuración
- Configurar una tarea programada para ejecutar el script
Requisitos previos
Antes de empezar, asegúrese de conocer su ID de cliente de Citrix y las URL de base de API relacionadas.
Inicie sesión en Citrix Cloud, vaya a Administración de identidades y accesos > Acceso a la APIy busque su ID de cliente de Citrix.
Las URL base de la API, incluidas la URL base de la API de Citrix Auth y la URL base de la API de WEM, están relacionadas con la región de Citrix Cloud a la que se conecta. La región se determina cuando se incorpora a Citrix Cloud. También puedes consultar tu región en la configuración de la cuenta.
Puedes encontrar las URL base de la API consultando la siguiente tabla.
Región | URL base de la API de autenticación de Citrix | URL base de la API WEM |
---|---|---|
Estados Unidos (EE. UU.) | api-mx.cloud.com | api.wem.cloud.com |
Unión Europea (UE) | api-eu.cloud.com | eu-api.wem.cloud.com |
Asia Pacífico Sur (AP-S) | api-ap-s.cloud.com | aps-api.wem.cloud.com |
Japón (JP) | api.citrixcloud.jp | jp-api.wem.citrixcloud.jp |
Para obtener más información sobre las URL base de las API, consulte Introducción [a las API de Citrix Cloud](https://developer.cloud.com/citrix-cloud/citrix-cloud-api-overview/docs/get-started-with-citrix-cloud-apis) y la API WEM.
Solicite un cliente de API de Citrix Cloud
Vaya a Administración de identidades y accesos > Acceso a la API. Escriba el nombre de su cliente seguro, haga clic en Crear clientey guarde el ID del cliente seguro y el secreto del cliente localmente.
Escriba un script de PowerShell para hacer copias de seguridad de sus conjuntos de configuración
Utilice el siguiente script de PowerShell y guárdelo como Invoke-WEMConfigSetBackupAPI.ps1
. Asegúrese de reemplazar las variables al principio del script.
# replace the variables before running the script
$CitrixCustomerId = 'your-citrix-customer-id'
$CitrixAuthAPIBaseURL = 'api-us.cloud.com'
$CitrixWEMAPIBaseURL = 'api.wem.cloud.com'
$ClientId = 'your-api-client-id'
$ClientSecret = 'your-api-client-secret'
$ConfigSetsToBackUp = @('Default Site', 'MyConfigSet') # leave it empty if you want to back up all configuration sets
$FolderToSaveBackup = 'C:\ProgramData'
# get bearer token
$ErrorActionPreference = 'Stop'
$URL = "https://${CitrixAuthAPIBaseURL}/cctrustoauth2/${CitrixCustomerId}/tokens/clients"
$Body = "grant_type=client_credentials&client_id=${ClientId}&client_secret=${ClientSecret}"
$Response = Invoke-RestMethod -Method 'Post' -Uri $URL -Body $Body -ContentType 'application/x-www-form-urlencoded'
$BearerToken = $Response.access_token
if ([string]::IsNullOrEmpty($BearerToken))
{
throw 'Cannot retrieve bearer token.'
}
Write-Host "Retrieved bearer token successfully."
# back up WEM configuration sets
if (-not (Test-Path -Path $FolderToSaveBackup -PathType 'Container'))
{
throw 'The folder to save backup not exists.'
}
$Headers = @{
'Citrix-CustomerId' = $CitrixCustomerId
'Accept' = 'application/json'
'Authorization' = "CWSAUTH bearer=${BearerToken}"
}
if ($ConfigSetsToBackUp.Count -eq 0 -or $ConfigSetsToBackUp -eq $null)
{
$URL = "https://${CitrixWEMAPIBaseURL}/services/wem/sites"
$Response = Invoke-RestMethod -Method 'Get' -Uri $URL -Headers $Headers
$ConfigSetsToBackUp = $Response.items |% { $_.name }
}
$ConfigSetsToBackUp | ForEach-Object {
Write-Host "Backing up configuration set ""$\_"""
$URL = "https://${CitrixWEMAPIBaseURL}/services/wem/sites/%24export?name=$\_"
Write-Host "GET $URL"
$Response = Invoke-RestMethod -Method 'Get' -Uri $URL -Headers $Headers
$Timestamp = Get-Date -Format "yyyyMMddHHmmss"
$Response | ConvertTo-Json -Depth 10 | Out-File (Join-Path $FolderToSaveBackup "${_}-${Timestamp}.json")
}
<!--NeedCopy-->
Para obtener más información sobre los tokens portadores, consulte Introducción a las API de Citrix Cloud.
Para obtener más información sobre el uso de la API de WEM para hacer copias de seguridad del conjunto de configuraciones, consulte Exportación de la API del conjunto de configuraciones
Nota:
Cada ficha al portador caduca al cabo de una hora. Para evitar invocar con frecuencia las API de autenticación y WEM de Citrix Cloud, guarde en caché el token portador y vuelva a utilizarlo si la duración de la copia de seguridad es inferior a una hora.
Configurar una tarea programada para ejecutar el script
En una máquina con acceso a Citrix Cloud, comience Task Scheduler
desde el menú Inicio de Windows o comience taskschd.msc
desde la línea de comandos de Windows.
Puede crear una carpeta con el nombre WEM scheduled task
.
En la carpeta, cree una tarea llamada launch Invoke-WEMConfigSetBackupAPI.ps1
. Añada un nuevo disparador «repita cada 12 horas durante un día» y añada una nueva acción de inicio del guion Invoke-WEMConfigSetBackupAPI.ps1
.