Esimerkki PowerShell-komentosarjasta Cloudlink REST APIlla
Summary: Tämä tiedosto on tarkoitettu ainoastaan koulutus-/tietokäyttöön. Voidaan käyttää viitteenä kirjoitettaessa Cloudlink-automaatiokomentosarjaa PowerShell-komentosarjan kielellä. Dell ei ole vastuussa siitä, että tiedosto suoritetaan PowerShell-komentosarjana Dellin asiakkaan ympäristössä Komentosarja näyttää tavan näyttää, miten Cloudlinkillä rekisteröidyt tietokoneet ja niiden asemat luetellaan PowerShell-komentosarjassa Cloudlink RestAPI -puheluiden avulla. Komentosarja ei muuta minkään järjestelmän tilaa, vaan näyttää vain tiedot. Cloudlink-solmuun (IP-osoite osoittaa) käyttöoikeus myönnetään Client-tyyppisen Cloudlink-käyttäjän tunnistetiedoilla. ...
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
Voit automatisoida Cloudlink-toiminnot komentosarjan avulla. Tässä esimerkissä komentosarja näyttää Cloudlink Centeriin rekisteröidyt tietokoneet.
Cause
Komentosarja voi olla hyödyllinen asiakkaille, joilla on useita Cloudlink Center -keskuksia tai jotka haluavat hallita Cloudlink Centeriä PowerShell-komentosarjalla.
Resolution
# Copyright Dell © 2021, 2022
# Tämä tiedosto on tarkoitettu vain koulutusta/tietoja varten.
# Voidaan käyttää viitteenä kirjoitettaessa Cloudlink-automaatiokomentosarjaa PowerShell-komentosarjan kielellä.
# Dell ei ole vastuussa siitä, että tiedosto suoritetaan PowerShell-komentosarjana Dellin asiakkaan ympäristössä
# Komentosarja näyttää tavan luetella Cloudlinkiin rekisteröidyt tietokoneet ja niiden asemat PowerShell-komentosarjan
# kautta Cloudlink RestAPI -puhelujen avulla.
# Komentosarja ei muuta minkään järjestelmän tilaa, vaan näyttää vain tiedot.
# Cloudlink-solmuun (IP-osoite osoittaa) käyttöoikeus myönnetään Client-tyyppisen Cloudlink-käyttäjän tunnistetiedoilla.
# Seuraava osa sisältää varmenteen tarkistuksen, varmenne on aina voimassa
[Net.ServicePointManager]:SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationBack'). Tyyppi)
{
$certCallback = @,
kun käytössä on järjestelmä;
System.Net;
system.net.security-toiminnolla
System.Security.Cryptography.X509Certificates-sovelluksella
public class ServerCertificateValidationBack
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidationCallback ==null)
{
ServicePointManager.ServerCertificateValidationCallback +=
delegate
(
Object obj,
X509Certificate certificate,
X509Chain-ketju,
SslPolicyErrors-virheet
)
{
palautus on tosi;
};
}
} }
"@
Add-Type $certCallback
}
[ServerCertificateValidationBack]:Ignore()
$server=''
$client_id=''$client_secret=''
if ($args client id$args'if
$null[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
# List the machines on the console
Write-Host "Machine list:" -ForegroundColor Yellow
$machine_list_txt = $machine_list | ConvertFrom-Json
$machine_list_txt | FT
#For jokainen tietokone, luetteloi asemat
välimuistiin ($machine in $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
} }
# Tämä tiedosto on tarkoitettu vain koulutusta/tietoja varten.
# Voidaan käyttää viitteenä kirjoitettaessa Cloudlink-automaatiokomentosarjaa PowerShell-komentosarjan kielellä.
# Dell ei ole vastuussa siitä, että tiedosto suoritetaan PowerShell-komentosarjana Dellin asiakkaan ympäristössä
# Komentosarja näyttää tavan luetella Cloudlinkiin rekisteröidyt tietokoneet ja niiden asemat PowerShell-komentosarjan
# kautta Cloudlink RestAPI -puhelujen avulla.
# Komentosarja ei muuta minkään järjestelmän tilaa, vaan näyttää vain tiedot.
# Cloudlink-solmuun (IP-osoite osoittaa) käyttöoikeus myönnetään Client-tyyppisen Cloudlink-käyttäjän tunnistetiedoilla.
# Seuraava osa sisältää varmenteen tarkistuksen, varmenne on aina voimassa
[Net.ServicePointManager]:SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationBack'). Tyyppi)
{
$certCallback = @,
kun käytössä on järjestelmä;
System.Net;
system.net.security-toiminnolla
System.Security.Cryptography.X509Certificates-sovelluksella
public class ServerCertificateValidationBack
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidationCallback ==null)
{
ServicePointManager.ServerCertificateValidationCallback +=
delegate
(
Object obj,
X509Certificate certificate,
X509Chain-ketju,
SslPolicyErrors-virheet
)
{
palautus on tosi;
};
}
} }
"@
Add-Type $certCallback
}
[ServerCertificateValidationBack]:Ignore()
$server=''
$client_id=''$client_secret=''
if ($args client id$args'if
$null[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
# List the machines on the console
Write-Host "Machine list:" -ForegroundColor Yellow
$machine_list_txt = $machine_list | ConvertFrom-Json
$machine_list_txt | FT
#For jokainen tietokone, luetteloi asemat
välimuistiin ($machine in $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.