Приклад сценарію PowerShell за допомогою Cloudlink REST API
Zusammenfassung: Цей файл призначений лише для освітніх / інформаційних цілей. Може використовуватися як посилання при написанні сценаріїв автоматизації Cloudlink з мовою сценаріїв PowerShell. Dell не несе відповідальності за те, що цей файл виконується як сценарій PowerShell у середовищі клієнта Dell Сценарій показує спосіб перерахування машин, зареєстрованих у Cloudlink, та їх дисків зі сценарію PowerShell за допомогою викликів Cloudlink RestAPI. Скрипт не змінює стан будь-якої системи, а лише відображає інформацію. Доступ до вузла Cloudlink (позначеного IP-адресою) надається з обліковими даними користувача Cloudlink типу «клієнт». ...
Dieser Artikel gilt für
Dieser Artikel gilt nicht für
Dieser Artikel ist nicht an ein bestimmtes Produkt gebunden.
In diesem Artikel werden nicht alle Produktversionen aufgeführt.
Symptome
Сценарій можна використовувати для автоматизації операцій Cloudlink. У цьому прикладі сценарій містить список машин, зареєстрованих у Cloudlink Center.
Ursache
Сценарій може бути корисним для клієнтів, які мають кілька центрів Cloudlink або які хочуть керувати своїм центром Cloudlink за допомогою сценарію PowerShell.
Lösung
# 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
} }
Betroffene Produkte
CloudLink SecureVM, CloudLinkArtikeleigenschaften
Artikelnummer: 000202396
Artikeltyp: Solution
Zuletzt geändert: 13 März 2023
Version: 5
Antworten auf Ihre Fragen erhalten Sie von anderen Dell NutzerInnen
Support Services
Prüfen Sie, ob Ihr Gerät durch Support Services abgedeckt ist.