我有下面的查询和脚本从Azure中获取孤儿AVsets,我还添加了资源组标签“所有者”,以便可以获得资源的所有者及其预期的工作。
我需要有一些修改代码一样。我有3 AVset和所有者是相同的,如果我想自动化,它发送3个不同的邮件,所以我想有一个邮件和邮件消息中的所有resourcename。我无法排序-uniq
你能帮我理清基本逻辑吗
支持AV 1所有者是1 Av 2所有者也是1,因此在发送邮件时,它应该检查所有者并仅发送一封邮件而不是2封邮件。
PowerShell脚本
需要基本的逻辑,以便可以进一步修改
`$info = @()
#$subscriptionids = Get-AzSubscription
$subscriptionids = "subids"
foreach($subscriptionid in $subscriptionids){
Select-AzSubscription -Subscription $subscriptionid
#AvailabilitySet
$as = "resources
| where type has 'Microsoft.Compute/availabilitySets'
| where properties.virtualMachines == '[]'
| extend Details = pack_all()
| project Resource=resourceGroup, name, type"
$dt = Search-AzGraph -Subscription $subscriptionid -Query $as
foreach($ct in $dt){
$rdname = Get-AzResourceGroup $ct.Resource
$info = new-object PSObject
$info | Add-Member NoteProperty -Name "Resources" -Value $ct.name
$info | Add-Member NoteProperty -Name "RGname" -Value $ct.Resource
$info | Add-Member NoteProperty -Name "ResourceType" -Value $ct.Type
$info | Add-Member NoteProperty -Name "Tag" -Value $rdname.Tags.Owner
$info
}
}`
1条答案
按热度按时间rkkpypqq1#
继续我的评论。
在不知道您的电子邮件应该使用什么格式,或者
Tag
(owner)属性中有什么信息的情况下,您可以使用Group-Object向所有者发送一封电子邮件。