Exempel på PowerShell-skript med Cloudlink REST API

Summary: Den här filen är endast avsedd för utbildning/information. Kan användas som referens när du skriver Cloudlink-automatiseringsskript med PowerShell-skriptspråk. Dell tar inget ansvar för att den här filen utförs som ett PowerShell-skript i Dell-kundens miljö. Skriptet visar ett sätt att lista datorer som är registrerade med Cloudlink och deras enheter från ett PowerShell-skript med hjälp av Cloudlink RestAPI-anrop. Skriptet ändrar inte tillståndet för något system, utan visar bara information. Åtkomst till Cloudlink-noden (indikeras med IP-adress) beviljas med autentiseringsuppgifterna för en Cloudlink-användare av typen "klient". ...

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

Skriptet kan användas för att automatisera Cloudlink-åtgärder. I det här exemplet listar skriptet datorer som är registrerade i Cloudlink Center.

 

Cause

Skriptet kan vara användbart för kunder som har flera Cloudlink Center eller som vill hantera sitt Cloudlink Center med hjälp av ett PowerShell-skript.

 

Resolution

# Copyright Dell © 2021, 2022
# Den här filen är endast avsedd för utbildning/information.
# Kan användas som referens när du skriver Cloudlink-automatiseringsskript med PowerShell-skriptspråk.
# Dell tar inget ansvar för att den här filen utförs som ett PowerShell-skript i Dell-kundens miljö.

# Skriptet visar ett sätt att lista datorer som är registrerade med Cloudlink och deras enheter från ett PowerShell-skript med hjälp av Cloudlink RestAPI-anrop.
# Skriptet ändrar inte tillståndet för något system, utan visar bara information.
# Åtkomst till Cloudlink-noden (indikeras med IP-adress) beviljas med autentiseringsuppgifterna för en Cloudlink-användare av typen "klient".

# Följande del är hån av certifikatvalideringen, certifikatet är alltid giltigt.

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

# Fråga efter listan över maskiner

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

# Lista maskinerna på konsolen.

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

#For varje maskin listar du enheterna.

  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.