Пример сценария PowerShell с использованием API-интерфейса REST CloudLink

Summary: Этот файл предназначен только для образовательных/информационных целей. Может использоваться в качестве справочника при написании сценариев автоматизации CloudLink с помощью языка сценариев PowerShell. Dell не несет ответственности за то, что этот файл используется в качестве сценария PowerShell в среде Заказчика Dell. В этом сценарии показан способ получения списка компьютеров, зарегистрированных в CloudLink, и их накопителей из сценария PowerShell с помощью вызовов CloudLink RestAPI. Скрипт не изменяет состояние какой-либо системы, а только отображает информацию. Доступ к узлу CloudLink (определяется IP-адресом) предоставляется с помощью учетных данных пользователя CloudLink типа client. ...

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

Symptoms

Сценарий можно использовать для автоматизации операций Cloudlink. В этом примере сценарий перечисляет компьютеры, зарегистрированные в CloudLink Center.

 

Cause

Этот сценарий может быть полезен заказчикам, у которых есть несколько центров CloudLink или которые хотят управлять своим центром CloudLink с помощью сценария PowerShell.

 

Resolution

# Copyright Dell © 2021, 2022
# Этот файл предназначен только для образовательных и информационных целей.
# Может использоваться в качестве справочника при написании сценариев автоматизации CloudLink с помощью языка сценариев PowerShell.
# Dell не несет ответственности за то, что этот файл используется в качестве сценария PowerShell в среде Заказчика Dell.

# В скрипте показан способ вывода списка компьютеров, зарегистрированных в CloudLink, и их накопителей из сценария PowerShell с помощью вызовов CloudLink RestAPI.
# Скрипт не изменяет состояние какой-либо системы, а только отображает информацию.
# Доступ к узлу CloudLink (определяется IP-адресом) предоставляется с помощью учетных данных пользователя CloudLink типа client.

# Следующая часть имитирует проверку сертификата, сертификат всегда действителен.

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

 

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

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