Voorbeeld van PowerShell-script met Behulp van Cloudlink REST API

Summary: Dit bestand is alleen bedoeld voor onderwijs-/informatiedoeleinden. Kan worden gebruikt als referentie bij het schrijven van Cloudlink automatiseringsscripts met PowerShell-scripttaal. Dell is niet verantwoordelijk voor het uitvoeren van dit bestand als een PowerShell-script in de omgeving van de dell klant Het script toont een manier om machines die zijn geregistreerd met Cloudlink en hun schijven uit een PowerShell-script weer te geven met behulp van Cloudlink RestAPI-oproepen. Het script wijzigt de status van geen enkel systeem, maar geeft alleen informatie weer. Toegang tot het Cloudlink-knooppunt (aangegeven door IP-adres) wordt verleend met referenties van een CloudLink-gebruiker van het type 'client'. ...

Acest articol se aplică pentru Acest articol nu se aplică pentru Acest articol nu este legat de un produs specific. Acest articol nu acoperă toate versiunile de produs existente.

Symptoms

Het script kan worden gebruikt om Cloudlink-bewerkingen te automatiseren. In dit voorbeeld vermeldt het script machines die zijn geregistreerd bij Cloudlink Center.

Cause

Het script kan handig zijn voor klanten die verschillende Cloudlink Centers hebben of hun Cloudlink Center willen beheren met behulp van een PowerShell-script.

Resolution

# Copyright Dell © 2021, 2022
# Dit bestand is alleen bedoeld voor onderwijs/ informatiedoeleinden.
# Kan worden gebruikt als referentie bij het schrijven van Cloudlink automatiseringsscripts met PowerShell-scripttaal.
# Dell neemt geen verantwoordelijkheid voor het uitvoeren van dit bestand als een PowerShell-script in de omgeving

van de klant van Dell. Het script toont een manier om machines die zijn geregistreerd met Cloudlink en hun schijven uit een PowerShell-script
# weer te geven met behulp van Cloudlink RestAPI-oproepen.
# Het script wijzigt de status van geen enkel systeem, maar geeft alleen informatie weer.
# Toegang tot het Cloudlink-knooppunt (aangegeven door IP-adres) wordt verleend met referenties van een CloudLink-gebruiker van het type 'client'.

# Het volgende onderdeel maakt gebruik van de certificaatvalidatie, certificaat altijd geldig
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidation Callback'). Typ)
{
$certCallback = @"
met behulp van het systeem;
    met behulp van System.Net;
    met behulp van System.Net.Security;
    met behulp van System.Security.Cryptography.X509Certificates;
    public class ServerCertificateValidation Callback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidation Callback ==null)
{
ServicePointManager.ServerCertificateValidation Callback +=
delegate
(
Object obj,
X509Certificate certificaat,
                        X509Chain-keten,
SslPolicyErrors-fouten
)
{
return true;
                    };
            }
}
}
"@
Add-Type $certCallback
}
[ServerCertificateValidation Callback]:Ignore()


$server=''
$client_id=''
$client_secret=''

if ($args[2]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"}

# Query for the machines list
$machine_list_query='https://$serverport/cloudlink/rest/securevm'
$machine_list=Invoke-WebRequest -Method Get -Uri $machine_list_query -Headers $resolveSessionHeader -ContentType $Type

# List the machines on the console

  Write-Host "Machine list:"   -Voorgrondkleur geel
$machine_list_txt = $machine_list | ConvertFrom-Json
$machine_list_txt | FT

#For elke machine, vermeld de stations
foreach ($machine in $machine_list_txt)
{
$drives_list = $($machine.resources)
Write-Host "$($machine.name) $($machine.ip_address) ($($machine.os_name)) group $($machine.group)" -Voorgrondkleur geel
$drives_list | FT
}

Produse afectate

CloudLink SecureVM, CloudLink
Proprietăți articol
Article Number: 000202396
Article Type: Solution
Ultima modificare: 15 mai 2026
Version:  6
Găsiți răspunsuri la întrebările dvs. de la alți utilizatori Dell
Servicii de asistență
Verificați dacă dispozitivul dvs. este acoperit de serviciile de asistență.