Приклад скрипта PowerShell із використанням Cloudlink REST API

Zhrnutie: Цей файл призначений лише для освітніх та інформаційних цілей. Може використовуватися як довідник при написанні скриптів автоматизації Cloudlink на мові скриптів PowerShell. Dell не несе відповідальності за те, що цей файл виконується як скрипт PowerShell у середовищі Dell Customer. Скрипт показує спосіб перелік машин, зареєстрованих у Cloudlink, та їхніх дисків за допомогою скрипта PowerShell за допомогою викликів Cloudlink RestAPI. Скрипт не змінює стан жодної системи, лише відображає інформацію. Доступ до вузла Cloudlink (позначеного IP-адресою) надається з обліковими даними користувача Cloudlink типу «клієнт». ...

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

Скрипт можна використовувати для автоматизації операцій Cloudlink. У цьому прикладі скрипт містить перелік машин, зареєстрованих у Cloudlink Center.

 

Príčina

Скрипт може бути корисним для клієнтів, які мають кілька Cloudlink Центрів або хочуть керувати своїм Cloudlink Center за допомогою скрипта PowerShell.

 

Riešenie

# Copyright Dell © 2021, 2022
# Цей файл призначений лише для освітніх та інформаційних цілей.
# Може використовуватися як довідник при написанні скриптів автоматизації Cloudlink на мові скриптів PowerShell.
# Dell не несе відповідальності за те, що цей файл виконується як скрипт PowerShell у середовищі Dell Customer.

# Скрипт показує спосіб перелічити машини, зареєстровані в Cloudlink, та їхні диски за допомогою скрипта PowerShell із використанням викликів Cloudlink RestAPI.
# Скрипт не змінює стан жодної системи, лише відображає інформацію.
# Доступ до вузла Cloudlink (позначеного IP-адресою) надається з обліковими даними користувача Cloudlink типу «клієнт».

# Наступна частина — це висміювання перевірки сертифіката, сертифікат завжди дійсний.

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

# Запит до списку машин

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

# Перелічити машини на консолі.

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

#For кожній машині вказуйте диски.

  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.