我在Azure的资源组中有资源,但它不允许我移动该资源,因为它所在的资源组不是托管资源组,即使它已被移动。我已经尝试在Powershell az资源列表中运行该命令,但似乎看不到该资源的托管资源组。是否有一个命令可以在Powershell中运行,它将给予资源的当前资源组和资源的托管资源组?
vi4fp9gy1#
根据共享的信息,我了解到您希望了解
我们没有任何直接的cmdlet来提取此信息。您可以使用活动日志查看资源移动操作,并使用以下cmdlet提取已移动资源的信息和相应的目标资源组名称
Get-AzActivityLog -StartTime (get-date).AddDays(-90) -EndTime (get-date)| Where-Object {$_.Authorization.Action -like "Microsoft.Resources/subscriptions/resourceGroups/moveresources/action" -and $_.OperationName -like "Move Resource Group Resources" -and $_.EventName -like "Begin request" } | Select -ExpandProperty Properties
供您参考的屏幕截图示例:
注意:使用Get-AzActivityLogcmdlet,您只能提取最近90天的日志。
Get-AzActivityLog
06odsfpq2#
是否有Powershell命令可以给予资源的当前资源组?是的,它是Get-AzureRmResource命令:
$resourceId = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" $resource = Get-AzureRmResource -ResourceId $resourceId $resourceGroupName = $resource.ResourceGroupName
幸运的是,有一种替代方法可以避免指定您试图查找的“ResourceGroupName”,即指定ResourceType。
$resourceGroupName = Get-AzureRmResource -ResourceName {resourceName} -ResourceType {resourceType} | Select-Object -ExpandProperty ResourceGroupName
还要注意文档中的-ExpandProperties参数,以包括资源属性。
-ExpandProperties
2条答案
按热度按时间vi4fp9gy1#
根据共享的信息,我了解到您希望了解
我们没有任何直接的cmdlet来提取此信息。
您可以使用活动日志查看资源移动操作,并使用以下cmdlet提取已移动资源的信息和相应的目标资源组名称
供您参考的屏幕截图示例:
注意:使用
Get-AzActivityLog
cmdlet,您只能提取最近90天的日志。06odsfpq2#
是否有Powershell命令可以给予资源的当前资源组?
是的,它是Get-AzureRmResource命令:
幸运的是,有一种替代方法可以避免指定您试图查找的“ResourceGroupName”,即指定ResourceType。
还要注意文档中的
-ExpandProperties
参数,以包括资源属性。