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

Αυτό το άρθρο ισχύει για Αυτό το άρθρο δεν ισχύει για Αυτό το άρθρο δεν συνδέεται με κάποιο συγκεκριμένο προϊόν. Δεν προσδιορίζονται όλες οι εκδόσεις προϊόντων σε αυτό το άρθρο.

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

Επηρεαζόμενα προϊόντα

CloudLink SecureVM, CloudLink
Ιδιότητες άρθρου
Article Number: 000202396
Article Type: Solution
Τελευταία τροποποίηση: 15 Μαΐ 2026
Version:  6
Βρείτε απαντήσεις στις ερωτήσεις σας από άλλους χρήστες της Dell
Υπηρεσίες υποστήριξης
Ελέγξτε αν η συσκευή σας καλύπτεται από τις Υπηρεσίες υποστήριξης.