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

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

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

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

 

Cause

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.

 

Resolution

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

 

Affected Products

CloudLink SecureVM, CloudLink
Article Properties
Article Number: 000202396
Article Type: Solution
Last Modified: 09 Jun 2026
Version:  7
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.