Exempel på PowerShell-skript med Cloudlink REST API
Resumen: Filen är endast avsedd för utbildning/information. Kan användas som referens när du skriver Cloudlink-automatiseringsskript med PowerShell-skriptspråk. Dell tar inget ansvar för att filen utförs som ett PowerShell-skript i Dell-kundens miljö Skriptet visar ett sätt att lista datorer som är registrerade med Cloudlink och deras enheter från ett PowerShell-skript med Cloudlink RestAPI-anrop. Skriptet ändrar inte status för något system, utan visar bara information. Åtkomst till Cloudlink-noden (indikeras av IP-adress) beviljas med inloggningsuppgifter för en Cloudlink-användare av typen "client". ...
Este artículo se aplica a
Este artículo no se aplica a
Este artículo no está vinculado a ningún producto específico.
No se identifican todas las versiones del producto en este artículo.
Síntomas
Skriptet kan användas för att automatisera Cloudlink-åtgärder. I det här exemplet listar skriptet datorer som är registrerade med Cloudlink Center.
Causa
Skriptet kan vara användbart för kunder som har flera Cloudlink Center eller som vill hantera sitt Cloudlink Center med ett PowerShell-skript.
Resolución
# Copyright Dell © 2021, 2022
# Den här filen är endast avsedd för utbildning/information.
# Kan användas som referens när du skriver Cloudlink-automatiseringsskript med PowerShell-skriptspråk.
# Dell tar inget ansvar för att filen utförs som ett PowerShell-skript i Dell-kundens miljö
# Skriptet visar ett sätt att lista datorer som är registrerade med Cloudlink och deras enheter från ett PowerShell-skript
# med Cloudlink RestAPI-anrop.
# Skriptet ändrar inte status för något system, utan visar bara information.
# Åtkomst till Cloudlink-noden (indikeras av IP-adress) beviljas med inloggningsuppgifter för en Cloudlink-användare av typen "client".
# Följande del visar certifikatvalideringen, certifikatet är alltid giltigt
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]:Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback'). Typ)
{
$certCallback = @"
med hjälp av systemet;
med System.Net;
med System.Net.Security;
använda System.Security.Crypto crypto 509certificates;
public class ServerCertificateValidationCallback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidationCallback ==null)
{
ServicePointManager.ServerCertificateValidationCallback +=
delegate
(
Object obj,
X509Certificate-certifikat,
X509Chain chain,
SslPolicyErrors errors
)
{
return true;
};
}
}
"@
Tilläggstyp $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"
om ($
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
# Lista maskinerna på konsolen
Write-Host "Machine list:" – ForegroundColor gult
$machine_list_txt = $machine_list | ConvertFrom-Json
$machine_list_txt | FT
#For varje dator, listar enheternas
begäran ($machine i $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
} }
# Den här filen är endast avsedd för utbildning/information.
# Kan användas som referens när du skriver Cloudlink-automatiseringsskript med PowerShell-skriptspråk.
# Dell tar inget ansvar för att filen utförs som ett PowerShell-skript i Dell-kundens miljö
# Skriptet visar ett sätt att lista datorer som är registrerade med Cloudlink och deras enheter från ett PowerShell-skript
# med Cloudlink RestAPI-anrop.
# Skriptet ändrar inte status för något system, utan visar bara information.
# Åtkomst till Cloudlink-noden (indikeras av IP-adress) beviljas med inloggningsuppgifter för en Cloudlink-användare av typen "client".
# Följande del visar certifikatvalideringen, certifikatet är alltid giltigt
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]:Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback'). Typ)
{
$certCallback = @"
med hjälp av systemet;
med System.Net;
med System.Net.Security;
använda System.Security.Crypto crypto 509certificates;
public class ServerCertificateValidationCallback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidationCallback ==null)
{
ServicePointManager.ServerCertificateValidationCallback +=
delegate
(
Object obj,
X509Certificate-certifikat,
X509Chain chain,
SslPolicyErrors errors
)
{
return true;
};
}
}
"@
Tilläggstyp $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"
om ($
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
# Lista maskinerna på konsolen
Write-Host "Machine list:" – ForegroundColor gult
$machine_list_txt = $machine_list | ConvertFrom-Json
$machine_list_txt | FT
#For varje dator, listar enheternas
begäran ($machine i $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
} }
Productos afectados
CloudLink SecureVM, CloudLinkPropiedades del artículo
Número del artículo: 000202396
Tipo de artículo: Solution
Última modificación: 13 mar 2023
Versión: 5
Encuentre respuestas a sus preguntas de otros usuarios de Dell
Servicios de soporte
Compruebe si el dispositivo está cubierto por los servicios de soporte.