#azure #powershell #wvd
Вопрос:
Я поразил свой мозг этим и не могу найти решение. Моя цель — запустить любой хост AVD в определенном пуле хостов, где статус хоста «Недоступен». По сути, я хочу нажать кнопку «Пуск», если компьютер не запущен. Это то, что я пробовал:
Connect-AzAccount -Tenant $tenantid "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
$subscription = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
$RG = "azr-wu2-avd-rg-prdpooled-1"
$hostpoolname = "azr-wu2-avdpooled-prdhostpool"
if ((get-azcontext).Subscription.id -ne $subscription) { Set-AzContext -Subscription $subscription }
$avdhosts = get-azwvdSessionHost -HostPoolName $hostpoolname -resourcegroupname $rg
foreach ($avdhost in $avdhosts) {
write-host "$($avdhost.name) - " -NoNewline
if ($avdhost.Status -eq "Unavailable") {
write-host " Starting " -ForegroundColor yellow -NoNewline
try {
start-azvm -name $avdhost.name -ResourceGroupName $RG -ErrorAction Stop
write-host "Succeeded" -ForegroundColor green
} catch {
write-host "FAILED" -ForegroundColor red
}
} else {
write-host $avdhost.Status -ForegroundColor Green
}
}
Я могу успешно прочитать состояние компьютера. Но, когда он попадает в строку «start-azvm», я получаю эту ошибку:
start-azvm: ресурс «Microsoft.Не найден файл Compute/VirtualMachines/azr-wu2-avdpooled-prdhostpool’ в группе ресурсов ‘azr-wu2-avd-rg-prdpooled-1’. Для получения более подробной информации, пожалуйста, перейдите по https://aka.ms/ARMResourceNotFoundFix Код ошибки: ResourceNotFound Сообщение об ошибке: ресурс «Microsoft.Не найден файл Compute/VirtualMachines/azr-wu2-avdpooled-prdhostpool’ в группе ресурсов ‘azr-wu2-avd-rg-prdpooled-1’. Для получения более подробной информации, пожалуйста, перейдите по https://aka.ms/ARMResourceNotFoundFix Цель ошибки: Код состояния: 404 Фраза причины: Не найдена Идентификатор операции: 6a51b1bf-e7de-4195-b4f0-4b776ab7fe1e В строке: 1 символ:1
- start-azvm -name $avdhost.name -ResourceGroupName $RG -ошибка действия St …
CategoryInfo : CloseError: (:) [Start-AzVM], ComputeCloudException FullyQualifiedErrorId : Microsoft.Azure.Commands.Compute.StartAzureVMCommand
Как вы можете видеть, я извлекаю имя хоста непосредственно из хостов, которые я извлек ранее с помощью «get-azwvdsessionhost». Я также использую ту же самую группу ресурсов ($ rg). Интересно, что в ошибке указано, что не удается найти ресурс (имя пула хостов) внутри группы ресурсов. Этот пул хостов находится внутри группы ресурсов, и ошибка никогда не указывает имя хоста, которое я пытаюсь запустить.
Кажется, что это должно быть просто, и я надеюсь, что кто-нибудь сможет заставить меня повернуться лицом к ладони и двигаться дальше.
Спасибо