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

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

Dieser Artikel gilt für Dieser Artikel gilt nicht für Dieser Artikel ist nicht an ein bestimmtes Produkt gebunden. In diesem Artikel werden nicht alle Produktversionen aufgeführt.

Symptome

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

 

Ursache

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.

 

Lösung

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

 

Betroffene Produkte

CloudLink SecureVM, CloudLink
Artikeleigenschaften
Artikelnummer: 000202396
Artikeltyp: Solution
Zuletzt geändert: 09 Juni 2026
Version:  7
Antworten auf Ihre Fragen erhalten Sie von anderen Dell NutzerInnen
Support Services
Prüfen Sie, ob Ihr Gerät durch Support Services abgedeckt ist.