Esempio di script PowerShell con l'API REST CloudLink

Oversigt: 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". ...

Denne artikel gælder for Denne artikel gælder ikke for Denne artikel er ikke knyttet til et bestemt produkt. Det er ikke alle produktversioner, der er identificeret i denne artikel.

Symptomer

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

 

Årsag

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.

 

Løsning

# 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
  }
}

 

Berørte produkter

CloudLink SecureVM, CloudLink
Artikelegenskaber
Artikelnummer: 000202396
Artikeltype: Solution
Senest ændret: 09 jun. 2026
Version:  7
Find svar på dine spørgsmål fra andre Dell-brugere
Supportservices
Kontrollér, om din enhed er dækket af supportservices.