Przykład skryptu PowerShell przy użyciu interfejsu API REST Cloudlink

Summary: Plik jest przeznaczony wyłącznie do celów edukacyjnych/informacyjnych. Może być używany jako punkt odniesienia podczas pisania skryptów automatyzacji CloudLink przy użyciu języka skryptu PowerShell. Firma Dell nie ponosi żadnej odpowiedzialności za ten plik wykonywany jako skrypt PowerShell w środowisku klienta firmy Dell Skrypt przedstawia sposób wyświetlenia listy komputerów zarejestrowanych w cloudlink i ich dyskach ze skryptu PowerShell przy użyciu wywołań Cloudlink RestAPI. Skrypt nie zmienia stanu żadnego systemu, wyświetla tylko informacje. Dostęp do węzła Cloudlink (wskazanego przez adres IP) jest przyznawany przy użyciu poświadczeń użytkownika CloudLink typu "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

Skrypt może być używany do automatyzacji operacji CloudLink. W tym przykładzie skrypt wyświetla listę komputerów zarejestrowanych w Cloudlink Center.

Cause

Skrypt może być przydatny dla klientów, którzy mają kilka centrów Cloudlink lub chcą zarządzać swoim centrum Cloudlink Center przy użyciu skryptu PowerShell.

Resolution

# Copyright Dell © 2021, 2022
# Ten plik jest przeznaczony wyłącznie do celów edukacyjnych/informacyjnych.
# Może być używany jako punkt odniesienia podczas pisania skryptów automatyzacji CloudLink przy użyciu języka skryptu PowerShell.
# Firma Dell nie ponosi żadnej odpowiedzialności za ten plik wykonywany jako skrypt PowerShell w środowisku

klienta Firmy Dell# Skrypt ten umożliwia wyświetlanie listy komputerów zarejestrowanych w Cloudlink i ich dysków ze skryptu
PowerShell # przy użyciu wywołań RestAPI Cloudlink.
# Skrypt nie zmienia stanu żadnego systemu, wyświetla tylko informacje.
# Dostęp do węzła Cloudlink (wskazanego przez adres IP) jest przyznawany przy użyciu poświadczeń użytkownika CloudLink typu "client".

# Poniższa część makietę sprawdzania poprawności certyfikatu, certyfikat jest zawsze prawidłowy
[Net.ServicePointManager]:SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback'). Wpisz)
{
$certCallback = @"
przy użyciu systemu;
    korzystanie z System.Net;
    korzystanie z oprogramowania System.Net.Security;
    korzystanie z System.Security.Cryptography.X509Certificates;
    public class ServerCertificateValidationCallback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidationCallback ==null)
{
ServicePointManager.ServerCertificateValidationCallback +=
delegate
(
obiekt obj,
certyfikat certyfikatu X509,
                        Łańcuch X509Chain,
błędy
SslPolicyErrors)
{
return true;
                    };
            }
}
"@
Add-Type $certCallback
}
[ServerCertificateValidationCallback]:Ignore()


$server=''
$client_id=''
$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"}

# 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

# Lista komputerów w konsoli

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

#For każdego komputera, wyświetl listę napędów
foreach ($machine w $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
} }

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ță.