Приклад сценарію PowerShell за допомогою Cloudlink REST API
摘要: Цей файл призначений лише для освітніх / інформаційних цілей. Може використовуватися як посилання при написанні сценаріїв автоматизації Cloudlink з мовою сценаріїв PowerShell. Dell не несе відповідальності за те, що цей файл виконується як сценарій PowerShell у середовищі клієнта Dell Сценарій показує спосіб перерахування машин, зареєстрованих у Cloudlink, та їх дисків зі сценарію PowerShell за допомогою викликів Cloudlink RestAPI. Скрипт не змінює стан будь-якої системи, а лише відображає інформацію. Доступ до вузла Cloudlink (позначеного IP-адресою) надається з обліковими даними користувача Cloudlink типу «клієнт». ...
本文适用于
本文不适用于
本文并非针对某种特定的产品。
本文并非包含所有产品版本。
症状
Сценарій можна використовувати для автоматизації операцій Cloudlink. У цьому прикладі сценарій містить список машин, зареєстрованих у Cloudlink Center.
原因
Сценарій може бути корисним для клієнтів, які мають кілька центрів Cloudlink або які хочуть керувати своїм центром Cloudlink за допомогою сценарію PowerShell.
解决方案
# Copyright Dell © 2021, 2022
# Цей файл призначений лише для освітніх / інформаційних цілей.
# Може використовуватися як посилання при написанні сценаріїв автоматизації Cloudlink з мовою сценаріїв PowerShell.
# Dell не несе відповідальності за те, що цей файл виконується як сценарій PowerShell у середовищі
клієнта Dell# Сценарій показує спосіб перерахування машин, зареєстрованих у Cloudlink, та їх дисків зі сценарію
PowerShell # за допомогою викликів Cloudlink RestAPI.
# Скрипт не змінює стан будь-якої системи, а лише відображає інформацію.
# Доступ до вузла Cloudlink (позначеного IP-адресою) надається з обліковими даними користувача Cloudlink типу «клієнт».
# Наступна частина висміює перевірку сертифіката, сертифікат завжди дійсний
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback'). Type)
{
$certCallback = @"
за допомогою System;
за допомогою System.Net;
за допомогою System.Net.Security;
за допомогою сертифікатів System.Security.Cryptography.X509;
public class ServerCertificateValidationCallback { public static void Ignore() { if(ServicePointManager.ServerCertificateValidationCallback ==null)
{
ServicePointManager.ServerCertificateValidationCallback
+=
delegate
(
Object obj, X509Certificate certificate,
X509Chain chain,
помилки SslPolicyErrors
)
{
return true;
};
} } }
"@
add-type $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 "параметри: 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 "Відповідь отримано:"Запис-Вихід "$responsee"
if($
responsee.access_token)
{
$mytoken=$responsee.access_token
$Type = "application/json" $resolveSessionHeader = @{'authorization' = "Пред'явник $mytoken"
}
# Запит для списку
машин $machine_list_query='https://$serverport/cloudlink/rest/securevm'
$machine_list=Invoke-WebRequest -Method Get -uri $machine_list_query -Headers $resolveSessionHeader -ContentType $Type
# Список машин на консолі
Write-Host "Список машин:" -Колір переднього плану жовтий
$machine_список_txt = $machine_список | ConvertFrom-Json
$machine_list_txt | FT
#For для кожного комп'ютера перелічіть диски
длякожного ($machine в $machine_list_txt) {
$drives_list = $($machine.resources) Write-Host "$($machine.name) $($machine.ip_address) ($($machine.os_name)) group $($machine.group)
" -ForegroundColor жовтий
$drives_list | FT
} }
# Цей файл призначений лише для освітніх / інформаційних цілей.
# Може використовуватися як посилання при написанні сценаріїв автоматизації Cloudlink з мовою сценаріїв PowerShell.
# Dell не несе відповідальності за те, що цей файл виконується як сценарій PowerShell у середовищі
клієнта Dell# Сценарій показує спосіб перерахування машин, зареєстрованих у Cloudlink, та їх дисків зі сценарію
PowerShell # за допомогою викликів Cloudlink RestAPI.
# Скрипт не змінює стан будь-якої системи, а лише відображає інформацію.
# Доступ до вузла Cloudlink (позначеного IP-адресою) надається з обліковими даними користувача Cloudlink типу «клієнт».
# Наступна частина висміює перевірку сертифіката, сертифікат завжди дійсний
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback'). Type)
{
$certCallback = @"
за допомогою System;
за допомогою System.Net;
за допомогою System.Net.Security;
за допомогою сертифікатів System.Security.Cryptography.X509;
public class ServerCertificateValidationCallback { public static void Ignore() { if(ServicePointManager.ServerCertificateValidationCallback ==null)
{
ServicePointManager.ServerCertificateValidationCallback
+=
delegate
(
Object obj, X509Certificate certificate,
X509Chain chain,
помилки SslPolicyErrors
)
{
return true;
};
} } }
"@
add-type $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 "параметри: 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 "Відповідь отримано:"Запис-Вихід "$responsee"
if($
responsee.access_token)
{
$mytoken=$responsee.access_token
$Type = "application/json" $resolveSessionHeader = @{'authorization' = "Пред'явник $mytoken"
}
# Запит для списку
машин $machine_list_query='https://$serverport/cloudlink/rest/securevm'
$machine_list=Invoke-WebRequest -Method Get -uri $machine_list_query -Headers $resolveSessionHeader -ContentType $Type
# Список машин на консолі
Write-Host "Список машин:" -Колір переднього плану жовтий
$machine_список_txt = $machine_список | ConvertFrom-Json
$machine_list_txt | FT
#For для кожного комп'ютера перелічіть диски
длякожного ($machine в $machine_list_txt) {
$drives_list = $($machine.resources) Write-Host "$($machine.name) $($machine.ip_address) ($($machine.os_name)) group $($machine.group)
" -ForegroundColor жовтий
$drives_list | FT
} }
受影响的产品
CloudLink SecureVM, CloudLink文章属性
文章编号: 000202396
文章类型: Solution
上次修改时间: 13 3月 2023
版本: 5
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。