получить все ресурсы на Azure PowerShell, чьи теги начинаются (или включают) определенную строку - Azure Powershell - PullRequest
0 голосов
/ 11 ноября 2018

У меня есть почти 20 ресурсов на лазурном, 4 из них получили теги @

{"Office1work"="work"}
{"Office2practice"="Practice"}
{"Office3practice"="Practice"}
{"Office4practice"="Practice"}

Теперь я хочу получить ресурсы, имена тегов которых начинаются с ключевого слова «Офис». Я знаю, чтобы получить ресурс с помощью TagName, например, «привет», я просто использую следующую команду,

get-azureRmResource -TagName "Hello"

Как я могу использовать свойство -Tagname get-azurermresource, чтобы предоставить мне все ресурсы, теги которых начинаются с ключевого слова "Office"?

Или есть какой-нибудь другой хороший способ получить все ресурсы, теги которых начинаются с определенной строки?

Спасибо:)

1 Ответ

0 голосов
/ 11 ноября 2018

Вы можете использовать этот фрагмент кода:

$resources = Get-AzureRmResources
$resources.foreach{ if ($PSItem.tags.keys -match '^Office') { $PSItem } }

Сначала вы получаете все ресурсы в подписке, а затем отфильтровываете все ресурсы, теги которых не соответствуют «выражению» «Office».

, как указывает @LotPings, возможно, имеет смысл фильтровать без сохранения во временную переменную:

$resources = Get-AzureRmResources|Where-Object {$_.tags.keys -match "^Office"}

Кроме того, я не заметил, что вы запрашивали фильтр starts with, поэтому вы должны использовать ^Office в качестве более строгого фильтра (если вам нужно).

...