Eksempel på PowerShell-script ved hjælp af Cloudlink REST API

Oversigt: Denne fil er kun til uddannelses-/informationsformål. Kan bruges som reference, når du skriver Cloudlink-automatiseringsscripts med PowerShell-scriptsprog. Dell påtager sig intet ansvar for, at denne fil udføres som et PowerShell-script i Dell-kundens miljø. Scriptet viser en måde at liste maskiner, der er registreret med Cloudlink, og deres drev fra et PowerShell-script ved hjælp af Cloudlink RestAPI-opkald. Scriptet ændrer ikke tilstanden i noget system, viser kun information. Adgang til Cloudlink-noden (angivet med IP-adresse) gives med legitimationsoplysningerne for en Cloudlink-bruger af typen 'klient'. ...

Denne artikel gælder for Denne artikel gælder ikke for Denne artikel er ikke knyttet til et bestemt produkt. Det er ikke alle produktversioner, der er identificeret i denne artikel.

Symptomer

Scriptet kan bruges til at automatisere Cloudlink-handlinger. I dette eksempel viser scriptet maskiner, der er registreret i Cloudlink Center.

 

Årsag

Scriptet kan være nyttigt for kunder, der har flere Cloudlink Centers, eller som ønsker at administrere deres Cloudlink Center ved hjælp af et PowerShell-script.

 

Løsning

# Copyright Dell © 2021, 2022
# Denne fil er kun til uddannelses-/informationsformål.
# Kan bruges som reference, når du skriver Cloudlink-automatiseringsscripts med PowerShell-scriptsprog.
# Dell påtager sig intet ansvar for, at denne fil udføres som et PowerShell-script i Dell-kundens miljø.

# Scriptet viser en måde at liste maskiner, der er registreret med Cloudlink og deres drev fra et PowerShell-script ved hjælp af Cloudlink RestAPI-opkald.
# Scriptet ændrer ikke tilstanden i noget system, viser kun information.
# Adgang til Cloudlink-noden (angivet med IP-adresse) gives med legitimationsoplysningerne for en Cloudlink-bruger af typen 'klient'.

# Følgende del håner certifikatvalideringen, certifikatet er altid gyldigt.

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

# Forespørgsel til maskinlisten

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

# Angiv maskinerne på konsollen.

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

#For hver maskine skal du angive drevene.

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

 

Berørte produkter

CloudLink SecureVM, CloudLink
Artikelegenskaber
Artikelnummer: 000202396
Artikeltype: Solution
Senest ændret: 09 jun. 2026
Version:  7
Find svar på dine spørgsmål fra andre Dell-brugere
Supportservices
Kontrollér, om din enhed er dækket af supportservices.