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

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

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

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

 

Årsag

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.

 

Lø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ø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.