Esimerkki PowerShell-komentosarjasta Cloudlink REST APIlla
摘要: 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. ...
本文适用于
本文不适用于
本文并非针对某种特定的产品。
本文并非包含所有产品版本。
症状
Voit automatisoida Cloudlink-toiminnot komentosarjan avulla. Tässä esimerkissä komentosarja näyttää Cloudlink Centeriin rekisteröidyt tietokoneet.
原因
Komentosarja voi olla hyödyllinen asiakkaille, joilla on useita Cloudlink Center -keskuksia tai jotka haluavat hallita Cloudlink Centeriä PowerShell-komentosarjalla.
解决方案
# 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
} }
受影响的产品
CloudLink SecureVM, CloudLink文章属性
文章编号: 000202396
文章类型: Solution
上次修改时间: 13 3月 2023
版本: 5
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。