Workspace Environment Management

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:

  1. Solicite un cliente de API de Citrix Cloud
  2. Escriba un script de PowerShell para hacer copias de seguridad de sus conjuntos de configuración
  3. 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.

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.

Región

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.

Cliente seguro de API

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.

Programador de tareas

Realice copias de seguridad automáticas de los conjuntos de configuración mediante las API WEM y Windows PowerShell