Cloudlink REST API kullanan PowerShell komut dosyası örneği

Podsumowanie: Bu dosya sadece eğitim/bilgilendirme amaçlıdır. PowerShell betik dili ile Cloudlink otomasyon komut dosyaları yazarken referans olarak kullanılabilir. Dell, bu dosyanın Dell Müşterisinin ortamında bir PowerShell komut dosyası olarak işlenmesiyle ilgili hiçbir sorumluluk kabul etmez. Komut dosyası, Cloudlink RestAPI çağrılarını kullanarak Cloudlink'e kayıtlı makineleri ve sürücülerini bir PowerShell komut dosyasından listelemenin bir yolunu gösterir. Komut dosyası herhangi bir sistemin durumunu değiştirmez, sadece bilgileri görüntüler. Cloudlink düğümüne erişim (IP adresiyle gösterilir), "client" tipindeki bir Cloudlink kullanıcısının kimlik bilgileriyle verilir. ...

Ten artykuł dotyczy Ten artykuł nie dotyczy Ten artykuł nie jest powiązany z żadnym konkretnym produktem. Nie wszystkie wersje produktu zostały zidentyfikowane w tym artykule.

Objawy

Komut dosyası, Cloudlink işlemlerini otomatikleştirmek için kullanılabilir. Bu örnekte komut dosyası, Cloudlink Center'a kayıtlı makineleri listeler.

 

Przyczyna

Komut dosyası, birden fazla Cloudlink Merkezi olan veya Cloudlink Center'larını PowerShell komut dosyası kullanarak yönetmek isteyen müşteriler için yararlı olabilir.

 

Rozwiązanie

# Copyright Dell © 2021, 2022
# Bu dosya yalnızca eğitim/bilgilendirme amaçlıdır.
# PowerShell betik dili ile Cloudlink otomasyon komut dosyaları yazarken referans olarak kullanılabilir.
# Dell, bu dosyanın Dell Müşterisinin ortamında bir PowerShell komut dosyası olarak işlenmesiyle ilgili hiçbir sorumluluk kabul etmez.

# Komut dosyası, Cloudlink RestAPI çağrılarını kullanarak Cloudlink'e kayıtlı makineleri ve sürücülerini bir PowerShell komut dosyasından listelemenin bir yolunu gösterir.
# Komut dosyası herhangi bir sistemin durumunu değiştirmez, sadece bilgileri görüntüler.
# Cloudlink düğümüne erişim (IP adresiyle gösterilir), "client" tipindeki bir Cloudlink kullanıcısının kimlik bilgileriyle verilir.

# Aşağıdaki kısım sertifika doğrulamasıyla alay ediyor, sertifika her zaman geçerli.

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

# Makineler listesi için sorgu

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

# Konsoldaki makineleri listeleyin.

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

Her makine #For sürücüleri listeleyin.

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

 

Produkty, których dotyczy problem

CloudLink SecureVM, CloudLink
Właściwości artykułu
Numer artykułu: 000202396
Typ artykułu: Solution
Ostatnia modyfikacja: 09 cze 2026
Wersja:  7
Znajdź odpowiedzi na swoje pytania u innych użytkowników produktów Dell
Usługi pomocy technicznej
Sprawdź, czy Twoje urządzenie jest objęte usługą pomocy technicznej.