PowerShell-skripteksempel ved hjelp av Cloudlink REST API
Oversigt: Denne filen gjelder bare for utdannings-/informasjonsformål. Kan brukes som referanse når du skriver skript for Cloudlink-automatisering med PowerShell-skriptspråk. Dell tar ikke ansvar for at denne filen skal kjøres som et PowerShell-skript i Dell-kundens miljø Skriptet viser en måte å vise maskiner som er registrert med CloudLink, og diskene deres fra et PowerShell-skript ved hjelp av CloudLink RestAPI-anrop. Skriptet endrer ikke tilstanden til noe system, viser bare informasjon. Tilgang til Cloudlink-noden (angitt med IP-adresse) gis med legitimasjon for en Cloudlink-bruker av typen "klient". ...
Denne artikel gælder for
Denne artikel gælder ikke for
Denne artikel er ikke knyttet til et bestemt produkt.
Det er ikke alle produktversioner, der er identificeret i denne artikel.
Symptomer
Skriptet kan brukes til å automatisere Cloudlink-operasjoner. I dette eksemplet viser skriptet maskiner som er registrert med Cloudlink Center.
Årsag
Skriptet kan være nyttig for kunder som har flere Cloudlink-sentre eller som ønsker å administrere CloudLink Center ved hjelp av et PowerShell-skript.
Løsning
# Copyright Dell © 2021, 2022
# Denne filen er kun for utdanning / informasjonsformål.
# Kan brukes som referanse når du skriver skript for Cloudlink-automatisering med PowerShell-skriptspråk.
# Dell tar ikke ansvar for at denne filen kjøres som et PowerShell-skript i Dell-kundens miljø
# Skriptet viser en måte å vise maskiner som er registrert med CloudLink og deres stasjoner fra et PowerShell-skript
# ved hjelp av Cloudlink RestAPI-samtaler.
# Skriptet endrer ikke tilstanden til noe system, viser bare informasjon.
# Tilgang til Cloudlink-noden (angitt med IP-adresse) gis med legitimasjon for en Cloudlink-bruker av typen "klient".
# Følgende del gjelder ikke sertifikatvalidering, sertifikatet er alltid gyldig
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
hvis (-ikke ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback'). Type)
{
$certCallback = @"
ved hjelp av system;
ved hjelp av System.Net;
ved hjelp av System.Net.Security;
ved hjelp av System.Security.Cryptography.X509Certificates;
public class ServerCertificateValidationCallback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidationCallback =null)
{
ServicePointManager.ServerCertificateValidationCallback +=
delegate
(
Object obj,
X509Certificate certificate,
X509Chain-kjede,
SslPolicyErrors-feil
)
{
return true;
};
}
}
}
"@
Add-Type $certCallback
}
[ServerCertificateValidationCallback]::Ignore()
$server=''
$client_id=''
$client_secret=''
if ($args[[0] -ne $null)
{ $server=$args[0] }
hvis ($args[1] -ne $null)
{ $client_id=$args[1] }
hvis ($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 maskinene på konsollen
Write-Host "Machine list:" (Maskinliste for skrivevert:) -ForegroundColor Yellow
$machine_list_txt = $machine_list | ConvertFrom-Json
$machine_list_txt | FT
#For hver maskin, oppgi diskene
foreach ($machine i $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
} }
# Denne filen er kun for utdanning / informasjonsformål.
# Kan brukes som referanse når du skriver skript for Cloudlink-automatisering med PowerShell-skriptspråk.
# Dell tar ikke ansvar for at denne filen kjøres som et PowerShell-skript i Dell-kundens miljø
# Skriptet viser en måte å vise maskiner som er registrert med CloudLink og deres stasjoner fra et PowerShell-skript
# ved hjelp av Cloudlink RestAPI-samtaler.
# Skriptet endrer ikke tilstanden til noe system, viser bare informasjon.
# Tilgang til Cloudlink-noden (angitt med IP-adresse) gis med legitimasjon for en Cloudlink-bruker av typen "klient".
# Følgende del gjelder ikke sertifikatvalidering, sertifikatet er alltid gyldig
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
hvis (-ikke ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback'). Type)
{
$certCallback = @"
ved hjelp av system;
ved hjelp av System.Net;
ved hjelp av System.Net.Security;
ved hjelp av System.Security.Cryptography.X509Certificates;
public class ServerCertificateValidationCallback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidationCallback =null)
{
ServicePointManager.ServerCertificateValidationCallback +=
delegate
(
Object obj,
X509Certificate certificate,
X509Chain-kjede,
SslPolicyErrors-feil
)
{
return true;
};
}
}
}
"@
Add-Type $certCallback
}
[ServerCertificateValidationCallback]::Ignore()
$server=''
$client_id=''
$client_secret=''
if ($args[[0] -ne $null)
{ $server=$args[0] }
hvis ($args[1] -ne $null)
{ $client_id=$args[1] }
hvis ($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 maskinene på konsollen
Write-Host "Machine list:" (Maskinliste for skrivevert:) -ForegroundColor Yellow
$machine_list_txt = $machine_list | ConvertFrom-Json
$machine_list_txt | FT
#For hver maskin, oppgi diskene
foreach ($machine i $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
} }
Berørte produkter
CloudLink SecureVM, CloudLinkArtikelegenskaber
Artikelnummer: 000202396
Artikeltype: Solution
Senest ændret: 15 maj 2026
Version: 6
Find svar på dine spørgsmål fra andre Dell-brugere
Supportservices
Kontrollér, om din enhed er dækket af supportservices.