Eksempel på PowerShell-script med Cloudlink REST API
概要: Denne fil er kun til uddannelses-/informationsformål. Kan bruges som reference, når der skrives Cloudlink-automatiseringsscripts med PowerShell-scriptsprog. Dell tager ikke noget ansvar for, at denne fil udføres som et PowerShell-script i Dell-kundens miljø Scriptet viser en metode til at registrere maskiner, der er registreret med CloudLink og deres drev, fra et PowerShell-script ved hjælp af Cloudlink RestAPI-opkald. Scriptet ændrer ikke tilstanden for et system, men viser kun oplysninger. Adgang til Cloudlink-noden (angivet med IP-adresse) gives med legitimationsoplysninger for en Cloudlink-bruger af typen "klient". ...
この記事は次に適用されます:
この記事は次には適用されません:
この記事は、特定の製品に関連付けられていません。
すべての製品パージョンがこの記事に記載されているわけではありません。
現象
Scriptet kan bruges til at automatisere CloudLink-handlinger. I dette eksempel viser scriptet maskiner, der er registreret hos CloudLink Center.
原因
Scriptet kan være nyttigt for kunder, der har flere CloudLink Centers, eller som ønsker at administrere deres CloudLink Center ved hjælp af et PowerShell-script.
解決方法
# Copyright Dell © 2021, 2022
# Denne fil er kun til uddannelses-/informationsformål.
# Kan bruges som reference, når der skrives Cloudlink-automatiseringsscripts med PowerShell-scriptsprog.
# Dell tager ikke noget ansvar for, at denne fil udføres som et PowerShell-script i Dells kundemiljø
# Scriptet viser en måde at liste maskiner, der er registreret med Cloudlink, og deres drev fra et PowerShell-script
# ved hjælp af Cloudlink RestAPI-opkald.
# Scriptet ændrer ikke tilstanden for et system, men viser kun oplysninger.
# Adgang til Cloudlink-noden (angivet med IP-adresse) gives med legitimationsoplysninger for en Cloudlink-bruger af typen "klient".
# Følgende del er ved at opdatere certifikatvalideringen, certifikatet er altid gyldigt
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback'). Type)
{
$certCallback = @"
ved hjælp af systemet;
ved hjælp af System.Net;
ved hjælp af System.Net.Security;
ved hjælp af System.Security.Cryptografi.X509Certificates;
offentlig klasse ServerCertificateValidationCallback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidationCallback ==null)
{
ServicePointManager.ServerCertificateValidationCallback +=
delegeret
(
Object strik,
X509Certificate-certifikat,
X509Chain-kæde,
SslPolicyErrors-fejl
)
{
returner sand;
};
}
}
"@
Add-Type $certCallback
}
[ServerCertificateValidationCallback]::Ignore()
$server=''
$client_id=''
$client_secret=''
if ($args[20] -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-RestMet byte -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"}
# Forespørgsel på computerlisten
$machine_list_query='https://$serverport/cloudlink/rest/securevm'
$machine_list=Invoke-WebRequest -Method Get -Uri $machine_list_query -Headers $resolveSessionHeader -ContentType $Type
# List the machines on the console
Write-Host "Maskinliste:" -ForegroundColor gul
$machine_list_txt = $machine_list | ConvertFrom-Json
$machine_list_txt | FT
#For hver computer skal du angive drevene
foreach ($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
} }
# Denne fil er kun til uddannelses-/informationsformål.
# Kan bruges som reference, når der skrives Cloudlink-automatiseringsscripts med PowerShell-scriptsprog.
# Dell tager ikke noget ansvar for, at denne fil udføres som et PowerShell-script i Dells kundemiljø
# Scriptet viser en måde at liste maskiner, der er registreret med Cloudlink, og deres drev fra et PowerShell-script
# ved hjælp af Cloudlink RestAPI-opkald.
# Scriptet ændrer ikke tilstanden for et system, men viser kun oplysninger.
# Adgang til Cloudlink-noden (angivet med IP-adresse) gives med legitimationsoplysninger for en Cloudlink-bruger af typen "klient".
# Følgende del er ved at opdatere certifikatvalideringen, certifikatet er altid gyldigt
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback'). Type)
{
$certCallback = @"
ved hjælp af systemet;
ved hjælp af System.Net;
ved hjælp af System.Net.Security;
ved hjælp af System.Security.Cryptografi.X509Certificates;
offentlig klasse ServerCertificateValidationCallback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidationCallback ==null)
{
ServicePointManager.ServerCertificateValidationCallback +=
delegeret
(
Object strik,
X509Certificate-certifikat,
X509Chain-kæde,
SslPolicyErrors-fejl
)
{
returner sand;
};
}
}
"@
Add-Type $certCallback
}
[ServerCertificateValidationCallback]::Ignore()
$server=''
$client_id=''
$client_secret=''
if ($args[20] -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-RestMet byte -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"}
# Forespørgsel på computerlisten
$machine_list_query='https://$serverport/cloudlink/rest/securevm'
$machine_list=Invoke-WebRequest -Method Get -Uri $machine_list_query -Headers $resolveSessionHeader -ContentType $Type
# List the machines on the console
Write-Host "Maskinliste:" -ForegroundColor gul
$machine_list_txt = $machine_list | ConvertFrom-Json
$machine_list_txt | FT
#For hver computer skal du angive drevene
foreach ($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ユーザーからの回答を見つける
サポート サービス
お使いのデバイスがサポート サービスの対象かどうかを確認してください。