Пример сценария PowerShell с использованием API-интерфейса REST Cloudlink
摘要: Этот файл предназначен только для образовательных целей и информационных целей. Можно использовать в качестве справочного материала при записи сценариев автоматизации Cloudlink на языке сценариев PowerShell. Dell не несет ответственности за выполнение этого файла в среде заказчика Dell с помощью сценария PowerShell Сценарий отображает список компьютеров, зарегистрированных в Cloudlink, и их накопителей из сценария PowerShell с помощью вызовов Cloudlink RestAPI. Сценарий не изменяет состояние любой системы, просто отображает информацию. Доступ к узлу Cloudlink (указанному IP-адресом) предоставляется с учетными данными пользователя Cloudlink типа «client». ...
本文适用于
本文不适用于
本文并非针对某种特定的产品。
本文并非包含所有产品版本。
症状
Сценарий можно использовать для автоматизации операций Cloudlink. В этом примере сценарий содержит список компьютеров, зарегистрированных в Cloudlink Center.
原因
Сценарий может быть полезен заказчикам, которые имеют несколько центров Cloudlink Или хотят управлять центром Cloudlink Center с помощью сценария PowerShell.
解决方案
# Dell © 2021, 2022
# Этот файл предназначен только для образовательных целей и информационных целей.
# Можно использовать в качестве справочного материала при записи сценариев автоматизации Cloudlink на языке сценариев PowerShell.
# Dell не несет ответственности за выполнение этого файла как сценарий PowerShell в среде заказчика Dell
# В сценарии показан способ выставить список компьютеров, зарегистрированных в Cloudlink, и их накопителей из сценария PowerShell
# с использованием вызовов Cloudlink RestAPI.
# Сценарий не изменяет состояние любой системы, просто отображает информацию.
# Доступ к узлу Cloudlink (указанному IP-адресом) предоставляется с учетными данными пользователя Cloudlink типа «client».
# Следующий компонент является макетом проверки сертификата,
сертификат всегда действителен[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback'). введите)
{
$certCallback = @"
с помощью системы;
с помощью System.Net;
с помощью System.Net.Security;
с помощью System.Security.Cryptography.X509Certificates;
сервер общедоступного классаValidateValidationCallback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidationCallback ==null)
{
ServicePointManager.ServerCertificateValidationCallback +=
delegate
(
Object obj,
X509Certificate certificate,
X509Цепцепирование,
ошибки SslPolicyErrors
)
{
возврат true;
};
}
} }
"@
Add-Type $certCallback
}
[ServerCertificateValidationCallback]::Ignore()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"
Параметры вывода записи: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"
if($
responsee.access_token)
{ $mytoken=$responsee.access_token
$Type = "application/json"
$resolveSessionHeader = @{'Authorization' = "Пользователь-носитель $mytoken"}
# Запрос для компьютеров list
$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
Запись хоста «Список машин:» -ForegroundColor Желтая
$machine_list_txt = $machine_list | 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 Yellow
$drives_list | list | FT
}
}
# Этот файл предназначен только для образовательных целей и информационных целей.
# Можно использовать в качестве справочного материала при записи сценариев автоматизации Cloudlink на языке сценариев PowerShell.
# Dell не несет ответственности за выполнение этого файла как сценарий PowerShell в среде заказчика Dell
# В сценарии показан способ выставить список компьютеров, зарегистрированных в Cloudlink, и их накопителей из сценария PowerShell
# с использованием вызовов Cloudlink RestAPI.
# Сценарий не изменяет состояние любой системы, просто отображает информацию.
# Доступ к узлу Cloudlink (указанному IP-адресом) предоставляется с учетными данными пользователя Cloudlink типа «client».
# Следующий компонент является макетом проверки сертификата,
сертификат всегда действителен[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback'). введите)
{
$certCallback = @"
с помощью системы;
с помощью System.Net;
с помощью System.Net.Security;
с помощью System.Security.Cryptography.X509Certificates;
сервер общедоступного классаValidateValidationCallback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidationCallback ==null)
{
ServicePointManager.ServerCertificateValidationCallback +=
delegate
(
Object obj,
X509Certificate certificate,
X509Цепцепирование,
ошибки SslPolicyErrors
)
{
возврат true;
};
}
} }
"@
Add-Type $certCallback
}
[ServerCertificateValidationCallback]::Ignore()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"
Параметры вывода записи: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"
if($
responsee.access_token)
{ $mytoken=$responsee.access_token
$Type = "application/json"
$resolveSessionHeader = @{'Authorization' = "Пользователь-носитель $mytoken"}
# Запрос для компьютеров list
$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
Запись хоста «Список машин:» -ForegroundColor Желтая
$machine_list_txt = $machine_list | 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 Yellow
$drives_list | list | FT
}
}
受影响的产品
CloudLink SecureVM, CloudLink文章属性
文章编号: 000202396
文章类型: Solution
上次修改时间: 13 3月 2023
版本: 5
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。