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

摘要: 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". ...

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

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

原因

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.

解决方案

# 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
文章属性
文章编号: 000202396
文章类型: Solution
上次修改时间: 13 3月 2023
版本:  5
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。