Příklad skriptu PowerShellu s využitím rozhraní Cloudlink REST API

Sammanfattning: Tento soubor je určen pouze pro vzdělávací a informační účely. Dá se použít jako referenci při psaní skriptů pro automatizaci Cloudlink pomocí skriptovacího jazyka PowerShell. Společnost Dell nenese žádnou odpovědnost za to, že tento soubor bude v prostředí zákazníka Dell vytvořen jako skript aplikace PowerShell. Skript ukazuje způsob, jak zobrazit seznam počítačů registrovaných v Cloudlinku a jejich jednotek ze skriptu PowerShellu pomocí volání Cloudlink RestAPI. Skript nemění stav žádného systému, pouze zobrazuje informace. Přístup k uzlu Cloudlink (označený IP adresou) je udělen pomocí přihlašovacích údajů uživatele Cloudlink typu "client". ...

Den här artikeln gäller för Den här artikeln gäller inte för Den här artikeln är inte kopplad till någon specifik produkt. Alla produktversioner identifieras inte i den här artikeln.

Symptom

Skript lze použít k automatizaci operací Cloudlink. V tomto příkladu skript zobrazí seznam počítačů zaregistrovaných v nástroji Cloudlink Center.

 

Orsak

Skript může být užitečný pro zákazníky, kteří mají několik center Cloudlink Center nebo kteří chtějí spravovat své Cloudlink Center pomocí skriptu PowerShellu.

 

Upplösning

# Autorská práva Dell © 2021, 2022
# Tento soubor je určen pouze pro vzdělávací/informační účely.
# Dá se použít jako referenci při psaní skriptů pro automatizaci Cloudlink pomocí skriptovacího jazyka PowerShell.
# Společnost Dell nenese žádnou odpovědnost za to, že tento soubor bude v prostředí zákazníka Dell vytvořen jako skript aplikace PowerShell.

# Skript ukazuje způsob, jak vypsat počítače registrované pomocí Cloudlink a jejich jednotky ze skriptu PowerShellu pomocí volání Cloudlink RestAPI.
# Skript nemění stav žádného systému, pouze zobrazuje informace.
# Přístup k uzlu Cloudlink (označený IP adresou) je udělen pomocí přihlašovacích údajů uživatele Cloudlink typu "client".

# Následující část zesměšňuje ověření certifikátu, certifikát je vždy platný.

[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"}

# Dotaz na seznam počítačů

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

# Vypíše počítače v konzoli.

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

#For každém počítači vypište disky.

  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örda produkter

CloudLink SecureVM, CloudLink
Artikelegenskaper
Artikelnummer: 000202396
Artikeltyp: Solution
Senast ändrad: 09 juni 2026
Version:  7
Få svar på dina frågor från andra Dell-användare
Supporttjänster
Kontrollera om din enhet omfattas av supporttjänster.