Příklad skriptu PowerShell pomocí rozhraní Cloudlink REST API
Summary: Tento soubor slouží pouze pro účely vzdělávání a informací. Lze použít jako referenci při psaní automatizačních skriptů Cloudlink pomocí skriptového jazyka PowerShell. Společnost Dell nenese žádnou odpovědnost za spuštění tohoto souboru jako skriptu PowerShell v prostředí zákazníka společnosti Dell. Skript ukazuje způsob, jak vypsat seznam počítačů registrovaných pomocí platformy Cloudlink a jejich jednotek ze skriptu PowerShell pomocí volání Cloudlink RestAPI. Skript nemění stav žádného systému, pouze zobrazuje informace. Přístup k uzlu Cloudlink (označený IP adresou) se uděluje s přihlašovacími údaji uživatele cloudového odkazu typu "client". ...
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
Skript lze použít k automatizaci operací Cloudlink. V tomto příkladu skript uvádí počítače zaregistrované v softwaru Cloudlink Center.
Cause
Skript může být užitečný pro zákazníky, kteří mají několik center Cloudlink nebo chtějí spravovat své centrum Cloudlink Center pomocí skriptu PowerShell.
Resolution
# Copyright Dell © 2021, 2022
# Tento soubor slouží pouze pro účely vzdělávání a informací.
# Lze použít jako referenci při psaní automatizačních skriptů Cloudlink pomocí skriptového jazyka PowerShell.
# Společnost Dell nenese žádnou odpovědnost za spuštění tohoto souboru jako skriptu PowerShell v prostředí
zákazníka společnosti Dell. Skript ukazuje způsob, jak vypsat seznam počítačů registrovaných pomocí technologie Cloudlink a jejich jednotek ze skriptu
PowerShell # pomocí volání Cloudlink RestAPI.
# Skript nemění stav žádného systému, pouze zobrazuje informace.
# Přístup k uzlu Cloudlink (označený IP adresou) se uděluje s přihlašovacími údaji uživatele cloudového odkazu typu "client".
# Následující část se mocking ověření certifikátu, certifikát je vždy platný
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateImageCallback'). Zadejte)
{
$certCallback = @"
pomocí systému;
pomocí System.Net;
pomocí nástroje System.Net.Security;
použití protokolu System.Security.Cryptography.X509Certificates;
public class ServerCertificateCallback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateCallback ==null)
{
ServicePointManager.ServerCertificateCallback +=
delegovat
(
object obj,
X509Certificate certificate,
X509Chain chain,
SslPolicyErrors errors
)
{
return true;
};
} }
}
"@
Add-Type $certCallback
}
[ServerCertificateCallback]::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-RestAuth -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:" -ForegroundColor Yellow
$machine_list_txt = $machine_list | ConvertFrom-Json
$machine_list_txt | FT
#For každém počítači vypište jednotky
foreach ($machine v $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
}
}
# Tento soubor slouží pouze pro účely vzdělávání a informací.
# Lze použít jako referenci při psaní automatizačních skriptů Cloudlink pomocí skriptového jazyka PowerShell.
# Společnost Dell nenese žádnou odpovědnost za spuštění tohoto souboru jako skriptu PowerShell v prostředí
zákazníka společnosti Dell. Skript ukazuje způsob, jak vypsat seznam počítačů registrovaných pomocí technologie Cloudlink a jejich jednotek ze skriptu
PowerShell # pomocí volání Cloudlink RestAPI.
# Skript nemění stav žádného systému, pouze zobrazuje informace.
# Přístup k uzlu Cloudlink (označený IP adresou) se uděluje s přihlašovacími údaji uživatele cloudového odkazu typu "client".
# Následující část se mocking ověření certifikátu, certifikát je vždy platný
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateImageCallback'). Zadejte)
{
$certCallback = @"
pomocí systému;
pomocí System.Net;
pomocí nástroje System.Net.Security;
použití protokolu System.Security.Cryptography.X509Certificates;
public class ServerCertificateCallback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateCallback ==null)
{
ServicePointManager.ServerCertificateCallback +=
delegovat
(
object obj,
X509Certificate certificate,
X509Chain chain,
SslPolicyErrors errors
)
{
return true;
};
} }
}
"@
Add-Type $certCallback
}
[ServerCertificateCallback]::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-RestAuth -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:" -ForegroundColor Yellow
$machine_list_txt = $machine_list | ConvertFrom-Json
$machine_list_txt | FT
#For každém počítači vypište jednotky
foreach ($machine v $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
}
}
Affected Products
CloudLink SecureVM, CloudLinkArticle Properties
Article Number: 000202396
Article Type: Solution
Last Modified: 13 Mar 2023
Version: 5
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.