Exempel på PowerShell-skript med Cloudlink REST API
摘要: 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". ...
本文适用于
本文不适用于
本文并非针对某种特定的产品。
本文并非包含所有产品版本。
症状
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.
原因
Skriptet kan vara användbart för kunder som har flera Cloudlink Center eller som vill hantera sitt Cloudlink Center med ett PowerShell-skript.
解决方案
# 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
} }
受影响的产品
CloudLink SecureVM, CloudLink文章属性
文章编号: 000202396
文章类型: Solution
上次修改时间: 13 3月 2023
版本: 5
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。