Ejemplo de script de PowerShell mediante la API REST de Cloudlink
Zhrnutie: Este archivo es solo para fines educativos o informativos. Se puede utilizar como referencia cuando se escriben scripts de automatización de Cloudlink con el lenguaje de script de PowerShell. Dell no se hace responsable de que este archivo se ejecute como un script de PowerShell en el entorno del cliente de Dell El script muestra una manera de enumerar máquinas registradas con Cloudlink y sus unidades desde un script de PowerShell mediante llamadas a RestAPI de Cloudlink. El script no altera el estado de ningún sistema, solo muestra información. El acceso al nodo de Cloudlink (indicado por la dirección IP) se otorga con las credenciales de un usuario de Cloudlink de tipo "cliente". ...
Tento článok sa vzťahuje na
Tento článok sa nevzťahuje na
Tento článok nie je viazaný na žiadny konkrétny produkt.
V tomto článku nie sú uvedené všetky verzie produktov.
Symptómy
El script se puede utilizar para automatizar las operaciones de Cloudlink. En este ejemplo, el script enumera las máquinas registradas con Cloudlink Center.
Príčina
El script puede ser útil para los clientes que tienen varios Centros de Cloudlink o que desean administrar su Centro de Cloudlink mediante un script de PowerShell.
Riešenie
# Copyright Dell © 2021, 2022
# Este archivo es solo para fines educativos o informativos.
# Se puede utilizar como referencia cuando se escriben scripts de automatización de Cloudlink con el lenguaje de script de PowerShell.
# Dell no se hace responsable de que este archivo se ejecute como un script de PowerShell en el entorno
del cliente de Dell# El script muestra una manera de enumerar máquinas registradas con Cloudlink y sus unidades desde un script
de PowerShell # mediante llamadas RestAPI de Cloudlink.
# El script no altera el estado de ningún sistema, solo muestra información.
# El acceso al nodo de Cloudlink (indicado por la dirección IP) se otorga con las credenciales de un usuario de Cloudlink de tipo "cliente".
# La siguiente parte es simular la validación del certificado, certificado siempre válido
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback'). Escriba)
{
$certCallback = @"
mediante el sistema;
mediante System.Net;
mediante System.Net.Security;
mediante System.Security.Cryptography.X509Certificates;
clase pública ServerCertificateValidationCallback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidationCallback ==null)
{
ServicePointManager.ServerCertificateValidationCallback +=
delegate
(
Object obj,
certificado X509Certificate,
X509 Chain,
SslPolicyErrors errors
)
{
return true;
};
}
}
}
"@
Add-Type $certCallback
}
[ServerCertificateValidationCallback]::Ignore()
$server=''
$client_id=''
$client_secret=''
if ($args[10] -ne $null)
{ $server=$args[0] }
if ($args[1] -ne $null)
{ $client_id=$args[1] }
if ($args[2] -ne $null)
{ $client_secret=$args[2] }
$serverport=$server+":443"
Parámetros de salida de escritura: server=$server, client_id=$client_id, client_secret=$client_secret"
$responsee=Invoke-Rest Rack -Uri "https://$server/cloudlink/oauth/token?grant_type=client_credentials&client_id=$client_id&client_secret=$client_secret&scope=all" -Method Get -TimeoutSec 1800
Write-Output "The response received:"
Write-Output "$responsee"
if($
responsee.access_token)
{ $mytoken=$responsee.access_token
$Type = "application/json"
$resolveSessionHeader = @{'Authorization' = "Bearer $mytoken"}
# Query for the machines list
$machine_list_query== https://$serverport/cloudlink/rest/securevm'
$machine_list=Invoke-WebRequest -Method Get -Uri $machine_list_query -Headers $resolveSessionHeader -ContentType $Type
# Enumerar las máquinas en la consola
Write-Host "Machine list:" - Color en primer plano Amarillo
$machine_list_txt = $machine_list | ConvertFrom-Json
$machine_list_txt | FT
#For cada máquina, enumere las unidades
foreach ($machine en $machine_list_txt)
{
$drives_list = $($machine.resources)
Write-Host "$($machine.name) $($machine.ip_address) ($($machine.os_name)) group $($machine.group)" -ForegroundColor Yellow
$drives_list | FT
}
}
# Este archivo es solo para fines educativos o informativos.
# Se puede utilizar como referencia cuando se escriben scripts de automatización de Cloudlink con el lenguaje de script de PowerShell.
# Dell no se hace responsable de que este archivo se ejecute como un script de PowerShell en el entorno
del cliente de Dell# El script muestra una manera de enumerar máquinas registradas con Cloudlink y sus unidades desde un script
de PowerShell # mediante llamadas RestAPI de Cloudlink.
# El script no altera el estado de ningún sistema, solo muestra información.
# El acceso al nodo de Cloudlink (indicado por la dirección IP) se otorga con las credenciales de un usuario de Cloudlink de tipo "cliente".
# La siguiente parte es simular la validación del certificado, certificado siempre válido
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback'). Escriba)
{
$certCallback = @"
mediante el sistema;
mediante System.Net;
mediante System.Net.Security;
mediante System.Security.Cryptography.X509Certificates;
clase pública ServerCertificateValidationCallback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidationCallback ==null)
{
ServicePointManager.ServerCertificateValidationCallback +=
delegate
(
Object obj,
certificado X509Certificate,
X509 Chain,
SslPolicyErrors errors
)
{
return true;
};
}
}
}
"@
Add-Type $certCallback
}
[ServerCertificateValidationCallback]::Ignore()
$server=''
$client_id=''
$client_secret=''
if ($args[10] -ne $null)
{ $server=$args[0] }
if ($args[1] -ne $null)
{ $client_id=$args[1] }
if ($args[2] -ne $null)
{ $client_secret=$args[2] }
$serverport=$server+":443"
Parámetros de salida de escritura: server=$server, client_id=$client_id, client_secret=$client_secret"
$responsee=Invoke-Rest Rack -Uri "https://$server/cloudlink/oauth/token?grant_type=client_credentials&client_id=$client_id&client_secret=$client_secret&scope=all" -Method Get -TimeoutSec 1800
Write-Output "The response received:"
Write-Output "$responsee"
if($
responsee.access_token)
{ $mytoken=$responsee.access_token
$Type = "application/json"
$resolveSessionHeader = @{'Authorization' = "Bearer $mytoken"}
# Query for the machines list
$machine_list_query== https://$serverport/cloudlink/rest/securevm'
$machine_list=Invoke-WebRequest -Method Get -Uri $machine_list_query -Headers $resolveSessionHeader -ContentType $Type
# Enumerar las máquinas en la consola
Write-Host "Machine list:" - Color en primer plano Amarillo
$machine_list_txt = $machine_list | ConvertFrom-Json
$machine_list_txt | FT
#For cada máquina, enumere las unidades
foreach ($machine en $machine_list_txt)
{
$drives_list = $($machine.resources)
Write-Host "$($machine.name) $($machine.ip_address) ($($machine.os_name)) group $($machine.group)" -ForegroundColor Yellow
$drives_list | FT
}
}
Dotknuté produkty
CloudLink SecureVM, CloudLinkVlastnosti článku
Číslo článku: 000202396
Typ článku: Solution
Dátum poslednej úpravy: 15 máj 2026
Verzia: 6
Nájdite odpovede na svoje otázky od ostatných používateľov spoločnosti Dell
Služby podpory
Skontrolujte, či sa na vaše zariadenie vzťahujú služby podpory.