Exemple de script PowerShell à l’aide de l’API REST Cloudlink
Samenvatting: Ce fichier est uniquement destiné à des fins d’éducation/d’information. Peut être utilisé comme référence lors de l’écriture de scripts d’automatisation Cloudlink avec le langage de script PowerShell. Dell n’assume aucune responsabilité quant à l’exécution de ce fichier en tant que script PowerShell dans l’environnement du client Dell Le script présente un moyen de répertorier les machines enregistrées avec CloudLink et leurs disques à partir d’un script PowerShell à l’aide des appels Cloudlink RestAPI. Le script ne modifie pas l’état d’un système, il affiche simplement des informations. L’accès au nœud Cloudlink (indiqué par l’adresse IP) est accordé avec les informations d’identification d’un utilisateur Cloudlink de type « client ». ...
Dit artikel is van toepassing op
Dit artikel is niet van toepassing op
Dit artikel is niet gebonden aan een specifiek product.
Niet alle productversies worden in dit artikel vermeld.
Symptomen
Le script peut être utilisé pour automatiser les opérations Cloudlink. Dans cet exemple, le script répertorie les machines enregistrées auprès de Cloudlink Center.
Oorzaak
Le script peut être utile pour les clients qui disposent de plusieurs Cloudlink Centers ou qui souhaitent gérer leur Cloudlink Center à l’aide d’un script PowerShell.
Oplossing
# Copyright Dell © 2021, 2022
# Ce fichier est uniquement destiné à des fins d’éducation/d’information.
# Peut être utilisé comme référence lors de l’écriture de scripts d’automatisation Cloudlink avec le langage de script PowerShell.
# Dell n’est pas responsable de l’exécution de ce fichier en tant que script PowerShell dans l’environnement
du client Dell# Le script présente un moyen de répertorier les machines enregistrées avec Cloudlink et leurs disques à partir d’un numéro de script
PowerShell à l’aide des appels Cloudlink RestAPI.
# Le script ne modifie pas l’état d’un système, il affiche simplement des informations.
# L’accès au nœud Cloudlink (indiqué par l’adresse IP) est accordé avec les informations d’identification d’un utilisateur Cloudlink de type « client ».
# La partie suivante se moquait de la validation du certificat, du certificat toujours valide
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback'). Saisissez)
{
$certCallback = @ »
à l’aide du système;
à l’aide de System.Net;
à l’aide de System.Net.Security;
à l’aide de System.Security.Cryptography.X509Certificates;
classe publique ServerCertificateValidationCallback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidationCallback ==null)
{
ServicePointManager.ServerCertificateValidationCallback +=
delegate
(
Object obj,
certificat X509Certificate,
Chaîne X509Chain,
erreurs
SslPolicyErrors )
{ renvoyer
la valeur true;
};
}
}
}
"@
Add-Type $certCallback
}
[ServerCertificateValidationCallback]::Ignore()
$server=''
$client_id=''
$client_secret=''
if ($args[0] -ne $null)
{ $server=$args[0] }
si ($args[1] -ne $null)
{ $client_id=$args[1] }
si ($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
# Répertoriez les machines sur la console
Write-Host « Machine list: » -ForegroundColor Jaune
$machine_list_txt = $machine_list | ConvertFrom-Json
$machine_list_txt | FT
#For chaque machine, répertoriez les disques
en vue ($machine dans $machine_list_txt)
{
$drives_list = $($machine.resources)
Write-Host « $($machine.name) $($machine.ip_address) ($($machine.os_name)) groupe $($machine.group) » -$drives_liste jaune couleur avant
| FT
} }
# Ce fichier est uniquement destiné à des fins d’éducation/d’information.
# Peut être utilisé comme référence lors de l’écriture de scripts d’automatisation Cloudlink avec le langage de script PowerShell.
# Dell n’est pas responsable de l’exécution de ce fichier en tant que script PowerShell dans l’environnement
du client Dell# Le script présente un moyen de répertorier les machines enregistrées avec Cloudlink et leurs disques à partir d’un numéro de script
PowerShell à l’aide des appels Cloudlink RestAPI.
# Le script ne modifie pas l’état d’un système, il affiche simplement des informations.
# L’accès au nœud Cloudlink (indiqué par l’adresse IP) est accordé avec les informations d’identification d’un utilisateur Cloudlink de type « client ».
# La partie suivante se moquait de la validation du certificat, du certificat toujours valide
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback'). Saisissez)
{
$certCallback = @ »
à l’aide du système;
à l’aide de System.Net;
à l’aide de System.Net.Security;
à l’aide de System.Security.Cryptography.X509Certificates;
classe publique ServerCertificateValidationCallback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidationCallback ==null)
{
ServicePointManager.ServerCertificateValidationCallback +=
delegate
(
Object obj,
certificat X509Certificate,
Chaîne X509Chain,
erreurs
SslPolicyErrors )
{ renvoyer
la valeur true;
};
}
}
}
"@
Add-Type $certCallback
}
[ServerCertificateValidationCallback]::Ignore()
$server=''
$client_id=''
$client_secret=''
if ($args[0] -ne $null)
{ $server=$args[0] }
si ($args[1] -ne $null)
{ $client_id=$args[1] }
si ($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
# Répertoriez les machines sur la console
Write-Host « Machine list: » -ForegroundColor Jaune
$machine_list_txt = $machine_list | ConvertFrom-Json
$machine_list_txt | FT
#For chaque machine, répertoriez les disques
en vue ($machine dans $machine_list_txt)
{
$drives_list = $($machine.resources)
Write-Host « $($machine.name) $($machine.ip_address) ($($machine.os_name)) groupe $($machine.group) » -$drives_liste jaune couleur avant
| FT
} }
Getroffen producten
CloudLink SecureVM, CloudLinkArtikeleigenschappen
Artikelnummer: 000202396
Artikeltype: Solution
Laatst aangepast: 15 mei 2026
Versie: 6
Vind antwoorden op uw vragen via andere Dell gebruikers
Support Services
Controleer of uw apparaat wordt gedekt door Support Services.