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
向其他 Dell 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。