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

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

Αυτό το άρθρο ισχύει για Αυτό το άρθρο δεν ισχύει για Αυτό το άρθρο δεν συνδέεται με κάποιο συγκεκριμένο προϊόν. Δεν προσδιορίζονται όλες οι εκδόσεις προϊόντων σε αυτό το άρθρο.

Symptoms

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

 

Cause

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.

 

Resolution

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

 

Επηρεαζόμενα προϊόντα

CloudLink SecureVM, CloudLink
Ιδιότητες άρθρου
Article Number: 000202396
Article Type: Solution
Τελευταία τροποποίηση: 09 Ιουν 2026
Version:  7
Βρείτε απαντήσεις στις ερωτήσεις σας από άλλους χρήστες της Dell
Υπηρεσίες υποστήριξης
Ελέγξτε αν η συσκευή σας καλύπτεται από τις Υπηρεσίες υποστήριξης.