Exempel på PowerShell-skript med Cloudlink REST API

Samenvatting: 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". ...

Dit artikel is van toepassing op Dit artikel is niet van toepassing op Dit artikel is niet gebonden aan een specifiek product. Niet alle productversies worden in dit artikel vermeld.

Symptomen

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.

 

Oorzaak

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.

 

Oplossing

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

 

Getroffen producten

CloudLink SecureVM, CloudLink
Artikeleigenschappen
Artikelnummer: 000202396
Artikeltype: Solution
Laatst aangepast: 09 jun. 2026
Versie:  7
Vind antwoorden op uw vragen via andere Dell gebruikers
Support Services
Controleer of uw apparaat wordt gedekt door Support Services.