Exemplo de script do PowerShell usando a API REST do Cloudlink
Yhteenveto: Este arquivo é apenas para fins educacionais/informativos. Pode ser usado como referência ao escrever scripts de automação do Cloudlink com a linguagem de scripts do PowerShell. A Dell não se responsabiliza por este arquivo ser executado como um script do PowerShell no ambiente do Cliente da Dell O script mostra uma maneira de listar máquinas registradas com o Cloudlink e suas unidades a partir de um script do PowerShell usando chamadas RestAPI do Cloudlink. O script não altera o estado de nenhum sistema, apenas exibe informações. O acesso ao nó do Cloudlink (indicado pelo endereço IP) é concedido com as credenciais de um usuário do CloudLink do tipo "client". ...
Tämä artikkeli koskee tuotetta
Tämä artikkeli ei koske tuotetta
Tämä artikkeli ei liity tiettyyn tuotteeseen.
Tässä artikkelissa ei yksilöidä kaikkia tuoteversioita.
Oireet
O script pode ser usado para automatizar as operações do Cloudlink. Neste exemplo, o script lista as máquinas registradas no Cloudlink Center.
Syy
O script pode ser útil para clientes que têm vários Cloudlink Centers ou que desejam gerenciar o Cloudlink Center usando um script do PowerShell.
Tarkkuus
# Copyright Dell © 2021, 2022
# Este arquivo é apenas para fins educacionais/informativos.
# Pode ser usado como referência ao escrever scripts de automação do Cloudlink com a linguagem de scripts do PowerShell.
# A Dell não se responsabiliza por este arquivo ser executado como um script do PowerShell no ambiente do cliente da Dell
# O script mostra uma maneira de listar máquinas registradas com o Cloudlink e suas unidades a partir de um número de script
do PowerShell usando chamadas RestAPI do Cloudlink.
# O script não altera o estado de nenhum sistema, apenas exibe informações.
# O acesso ao nó do Cloudlink (indicado pelo endereço IP) é concedido com as credenciais de um usuário do CloudLink do tipo "client".
# A seguinte parte está simulando a validação do certificado,
o certificado sempre válido[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback'). Digite)
{
$certCallback = @"
usando o sistema;
usando System.Net;
usando System.Net.Security;
usando System.Security.Cryptography.X509Certificates;
classe pública ServerCertificateValidationCallback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidationCallback ==null)
{
ServicePointManager.ServerCertificateValidationCallback +=
delegate
(
Object obj,
certificado X509Certificate,
Cadeia X509Chain,
erros 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
# Listar as máquinas no console
Write-Host "Lista de máquinas:" -ForegroundColor Yellow
$machine_list_txt = $machine_list | ConvertFrom-Json
$machine_list_txt | FT
#For cada máquina,
liste as unidades foreach ($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
}
}
# Este arquivo é apenas para fins educacionais/informativos.
# Pode ser usado como referência ao escrever scripts de automação do Cloudlink com a linguagem de scripts do PowerShell.
# A Dell não se responsabiliza por este arquivo ser executado como um script do PowerShell no ambiente do cliente da Dell
# O script mostra uma maneira de listar máquinas registradas com o Cloudlink e suas unidades a partir de um número de script
do PowerShell usando chamadas RestAPI do Cloudlink.
# O script não altera o estado de nenhum sistema, apenas exibe informações.
# O acesso ao nó do Cloudlink (indicado pelo endereço IP) é concedido com as credenciais de um usuário do CloudLink do tipo "client".
# A seguinte parte está simulando a validação do certificado,
o certificado sempre válido[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback'). Digite)
{
$certCallback = @"
usando o sistema;
usando System.Net;
usando System.Net.Security;
usando System.Security.Cryptography.X509Certificates;
classe pública ServerCertificateValidationCallback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidationCallback ==null)
{
ServicePointManager.ServerCertificateValidationCallback +=
delegate
(
Object obj,
certificado X509Certificate,
Cadeia X509Chain,
erros 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
# Listar as máquinas no console
Write-Host "Lista de máquinas:" -ForegroundColor Yellow
$machine_list_txt = $machine_list | ConvertFrom-Json
$machine_list_txt | FT
#For cada máquina,
liste as unidades foreach ($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
}
}
Tuotteet, joihin vaikutus kohdistuu
CloudLink SecureVM, CloudLinkArtikkelin ominaisuudet
Artikkelin numero: 000202396
Artikkelin tyyppi: Solution
Viimeksi muutettu: 15 toukok. 2026
Versio: 6
Etsi vastauksia kysymyksiisi muilta Dell-käyttäjiltä
Tukipalvelut
Tarkista, kuuluuko laitteesi tukipalveluiden piiriin.