Azure Powershell VM остановлен статус в переменной - PullRequest
1 голос
/ 24 апреля 2020

Я пытаюсь написать сценарий PowerShell, который будет искать отключенные виртуальные машины в моей группе ресурсов и освобождать их. Вывод приведенного ниже сценария не дает мне имя виртуальной машины "clean", когда я пытаюсь назначить tp ниже в качестве переменной. Конечным результатом является выполнение Stop-AzureRmVM -ResourceGroupName LAB -Name $ VM -force

Так что для большего контекста, скажем, AVGJOE-DC1 находится в остановленном состоянии, и я запускаю следующую строку в Azure Powershell будет отображать

Name
----
AVGJOE-DC1

. Если я попытался использовать $ VM для вызова AVGJOE-DC1 в

Stop-AzureRmVM -ResourceGroupName LAB -Name $VM -force 

, то произойдет сбой из-за того, что для переменной задано более длинное значение. Строка что-то вроде MicroSoftComputerResource\Resourcegroup[@Name=AVGJOE-DC1].
Надеюсь, это имеет смысл.

  $VM = Get-AzureRmVM -ResourceGroupName LAB | get-azurermvm -Status | ?{$_.statuses.displaystatus -eq "VM stopped"} | select name 

1 Ответ

1 голос
/ 26 апреля 2020

Так же, как @Theo сказал в комментарии, select name дает вам объект со свойством name. Если вам нужна строка value свойства name, вы можете использовать Select-Object -ExpandProperty name вместо select name.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...