Voorbeeld van PowerShell-script met Behulp van Cloudlink REST API
Summary: Dit bestand is alleen bedoeld voor onderwijs-/informatiedoeleinden. Kan worden gebruikt als referentie bij het schrijven van Cloudlink automatiseringsscripts met PowerShell-scripttaal. Dell is niet verantwoordelijk voor het uitvoeren van dit bestand als een PowerShell-script in de omgeving van de dell klant Het script toont een manier om machines die zijn geregistreerd met Cloudlink en hun schijven uit een PowerShell-script weer te geven met behulp van Cloudlink RestAPI-oproepen. Het script wijzigt de status van geen enkel systeem, maar geeft alleen informatie weer. Toegang tot het Cloudlink-knooppunt (aangegeven door IP-adres) wordt verleend met referenties van een CloudLink-gebruiker van het type 'client'. ...
Bu makale şunlar için geçerlidir:
Bu makale şunlar için geçerli değildir:
Bu makale, belirli bir ürüne bağlı değildir.
Bu makalede tüm ürün sürümleri tanımlanmamıştır.
Symptoms
Het script kan worden gebruikt om Cloudlink-bewerkingen te automatiseren. In dit voorbeeld vermeldt het script machines die zijn geregistreerd bij Cloudlink Center.
Cause
Het script kan handig zijn voor klanten die verschillende Cloudlink Centers hebben of hun Cloudlink Center willen beheren met behulp van een PowerShell-script.
Resolution
# Copyright Dell © 2021, 2022
# Dit bestand is alleen bedoeld voor onderwijs/ informatiedoeleinden.
# Kan worden gebruikt als referentie bij het schrijven van Cloudlink automatiseringsscripts met PowerShell-scripttaal.
# Dell neemt geen verantwoordelijkheid voor het uitvoeren van dit bestand als een PowerShell-script in de omgeving
van de klant van Dell. Het script toont een manier om machines die zijn geregistreerd met Cloudlink en hun schijven uit een PowerShell-script
# weer te geven met behulp van Cloudlink RestAPI-oproepen.
# Het script wijzigt de status van geen enkel systeem, maar geeft alleen informatie weer.
# Toegang tot het Cloudlink-knooppunt (aangegeven door IP-adres) wordt verleend met referenties van een CloudLink-gebruiker van het type 'client'.
# Het volgende onderdeel maakt gebruik van de certificaatvalidatie, certificaat altijd geldig
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidation Callback'). Typ)
{
$certCallback = @"
met behulp van het systeem;
met behulp van System.Net;
met behulp van System.Net.Security;
met behulp van System.Security.Cryptography.X509Certificates;
public class ServerCertificateValidation Callback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidation Callback ==null)
{
ServicePointManager.ServerCertificateValidation Callback +=
delegate
(
Object obj,
X509Certificate certificaat,
X509Chain-keten,
SslPolicyErrors-fouten
)
{
return true;
};
}
}
}
"@
Add-Type $certCallback
}
[ServerCertificateValidation Callback]:Ignore()
$server=''
$client_id=''
$client_secret=''
if ($args[2]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:" -Voorgrondkleur geel
$machine_list_txt = $machine_list | ConvertFrom-Json
$machine_list_txt | FT
#For elke machine, vermeld de stations
foreach ($machine in $machine_list_txt)
{
$drives_list = $($machine.resources)
Write-Host "$($machine.name) $($machine.ip_address) ($($machine.os_name)) group $($machine.group)" -Voorgrondkleur geel
$drives_list | FT
}
# Dit bestand is alleen bedoeld voor onderwijs/ informatiedoeleinden.
# Kan worden gebruikt als referentie bij het schrijven van Cloudlink automatiseringsscripts met PowerShell-scripttaal.
# Dell neemt geen verantwoordelijkheid voor het uitvoeren van dit bestand als een PowerShell-script in de omgeving
van de klant van Dell. Het script toont een manier om machines die zijn geregistreerd met Cloudlink en hun schijven uit een PowerShell-script
# weer te geven met behulp van Cloudlink RestAPI-oproepen.
# Het script wijzigt de status van geen enkel systeem, maar geeft alleen informatie weer.
# Toegang tot het Cloudlink-knooppunt (aangegeven door IP-adres) wordt verleend met referenties van een CloudLink-gebruiker van het type 'client'.
# Het volgende onderdeel maakt gebruik van de certificaatvalidatie, certificaat altijd geldig
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidation Callback'). Typ)
{
$certCallback = @"
met behulp van het systeem;
met behulp van System.Net;
met behulp van System.Net.Security;
met behulp van System.Security.Cryptography.X509Certificates;
public class ServerCertificateValidation Callback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidation Callback ==null)
{
ServicePointManager.ServerCertificateValidation Callback +=
delegate
(
Object obj,
X509Certificate certificaat,
X509Chain-keten,
SslPolicyErrors-fouten
)
{
return true;
};
}
}
}
"@
Add-Type $certCallback
}
[ServerCertificateValidation Callback]:Ignore()
$server=''
$client_id=''
$client_secret=''
if ($args[2]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:" -Voorgrondkleur geel
$machine_list_txt = $machine_list | ConvertFrom-Json
$machine_list_txt | FT
#For elke machine, vermeld de stations
foreach ($machine in $machine_list_txt)
{
$drives_list = $($machine.resources)
Write-Host "$($machine.name) $($machine.ip_address) ($($machine.os_name)) group $($machine.group)" -Voorgrondkleur geel
$drives_list | FT
}
Etkilenen Ürünler
CloudLink SecureVM, CloudLinkMakale Özellikleri
Article Number: 000202396
Article Type: Solution
Son Değiştirme: 15 May 2026
Version: 6
Sorularınıza diğer Dell kullanıcılarından yanıtlar bulun
Destek Hizmetleri
Aygıtınızın Destek Hizmetleri kapsamında olup olmadığını kontrol edin.