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ユーザーからの回答を見つける
サポート サービス
お使いのデバイスがサポート サービスの対象かどうかを確認してください。