Esempio di script PowerShell con l'API REST CloudLink

Zhrnutie: Questo file è solo a scopo didattico/informativo. Può essere utilizzato come riferimento durante la scrittura di script di automazione CloudLink con il linguaggio di script PowerShell. Dell non si assume alcuna responsabilità per l'esecuzione di questo file come script PowerShell nell'ambiente del Cliente Dell. Lo script mostra un modo per elencare i computer registrati con CloudLink e le relative unità da uno script PowerShell utilizzando le chiamate RestAPI di CloudLink. Lo script non altera lo stato di alcun sistema, ma si limita a visualizzare le informazioni. L'accesso al nodo CloudLink (indicato dall'indirizzo IP) viene concesso con le credenziali di un utente CloudLink di tipo "client". ...

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

Lo script può essere utilizzato per automatizzare le operazioni di CloudLink. In questo esempio, lo script elenca i computer registrati con CloudLink Center.

 

Príčina

Lo script potrebbe essere utile per i clienti che dispongono di diversi Cloudlink Center o che desiderano gestire il proprio CloudLink Center utilizzando uno script PowerShell.

 

Riešenie

# Copyright Dell © 2021, 2022
# Questo file è solo a scopo informativo/informativo.
# Può essere utilizzato come riferimento durante la scrittura di script di automazione CloudLink con il linguaggio di script PowerShell.
# Dell non si assume alcuna responsabilità per l'esecuzione di questo file come script PowerShell nell'ambiente del Cliente Dell.

# Lo script mostra un modo per elencare i computer registrati con CloudLink e le relative unità da uno script PowerShell utilizzando le chiamate RestAPI di CloudLink.
# Lo script non altera lo stato di alcun sistema, ma si limita a visualizzare le informazioni.
# L'accesso al nodo CloudLink (indicato dall'indirizzo IP) viene concesso con le credenziali di un utente CloudLink di tipo "client".

# La parte seguente simula la convalida del certificato, il certificato è sempre valido.

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback').Type)
{
$certCallback = @"
    using System;
    using System.Net;
    using System.Net.Security;
    using System.Security.Cryptography.X509Certificates;
    public class ServerCertificateValidationCallback
    {
        public static void Ignore()
        {
            if(ServicePointManager.ServerCertificateValidationCallback ==null)
            {
                ServicePointManager.ServerCertificateValidationCallback +=
                    delegate
                    (
                        Object obj,
                        X509Certificate certificate,
                        X509Chain chain,
                        SslPolicyErrors errors
                    )
                    {
                        return true;
                    };
            }
        }
    }
"@
    Add-Type $certCallback
 }
[ServerCertificateValidationCallback]::Ignore()


$server='<cloudlink node ip>'
$client_id='<client id>'
$client_secret='<client secret>'

if ($args[0] -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"

Write-Output  "parameters: server=$server, client_id=$client_id, client_secret=$client_secret"

$responsee=Invoke-RestMethod -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 per l'elenco delle macchine

  $machine_list_query='https://$serverport/cloudlink/rest/securevm'
  $machine_list=Invoke-WebRequest -Method Get -Uri $machine_list_query -Headers $resolveSessionHeader -ContentType $Type

# Elenca i computer sulla console.

  Write-Host "Machine list:" -ForegroundColor Yellow
  $machine_list_txt = $machine_list | ConvertFrom-Json
  $machine_list_txt | FT

#For ogni computer, elencare le unità.

  foreach ($machine in $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, CloudLink
Vlastnosti článku
Číslo článku: 000202396
Typ článku: Solution
Dátum poslednej úpravy: 09 jún 2026
Verzia:  7
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.