查找所有已停止或没有部署的云服务(经典)
Find all Cloud Services (Classic) which are stopped or have no deployments
我正在尝试编写一个脚本,为我提供 Azure 中未使用的云服务列表。未使用,我的意思是哪些已停止或没有部署。
我想出了如何使用应用服务来完成它,但由于经典模型而坚持使用云服务。我相信它需要不同的方法来调用它的属性等。
谁能帮我挖掘一下,或者用什么方法、cmdlet 来获取这些属性?
提前致谢!
我以为它会有类似的东西:
function check_site {
Write-Output "------------------------------------------"
Write-Output "Microsoft.Web/sites"
Write-Output "------------------------------------------"
$RT = "Microsoft.Web/sites"
$apps = Get-AzureRmResource -ODataQuery "`$filter=resourcetype eq 'Microsoft.Web/sites'"
foreach($app in $apps){
$full_app = Get-AzureRmResource -ResourceGroupName $app.ResourceGroupName -ResourceType $RT -ResourceName $app.Name
if("Running" -ne $full_app.Properties.state)
{
= Get-AzureRmResource -ResourceGroupName $app.ResourceGroupName -ResourceType $RT -ResourceName $app.Name | Select-Object -ExpandProperty Name
'App Service: ' +
}
}}
对于云服务,您应该使用Get-AzureService 来获取详细信息。然后就可以通过相关的属性判断是否停止了。
如果您在 运行 此 cmdlet 时收到一些错误,请先使用 Add-AzureAccount
cmdlet。
测试结果:
我正在尝试编写一个脚本,为我提供 Azure 中未使用的云服务列表。未使用,我的意思是哪些已停止或没有部署。
我想出了如何使用应用服务来完成它,但由于经典模型而坚持使用云服务。我相信它需要不同的方法来调用它的属性等。
谁能帮我挖掘一下,或者用什么方法、cmdlet 来获取这些属性?
提前致谢!
我以为它会有类似的东西:
function check_site {
Write-Output "------------------------------------------"
Write-Output "Microsoft.Web/sites"
Write-Output "------------------------------------------"
$RT = "Microsoft.Web/sites"
$apps = Get-AzureRmResource -ODataQuery "`$filter=resourcetype eq 'Microsoft.Web/sites'"
foreach($app in $apps){
$full_app = Get-AzureRmResource -ResourceGroupName $app.ResourceGroupName -ResourceType $RT -ResourceName $app.Name
if("Running" -ne $full_app.Properties.state)
{
= Get-AzureRmResource -ResourceGroupName $app.ResourceGroupName -ResourceType $RT -ResourceName $app.Name | Select-Object -ExpandProperty Name
'App Service: ' +
}
}}
对于云服务,您应该使用Get-AzureService 来获取详细信息。然后就可以通过相关的属性判断是否停止了。
如果您在 运行 此 cmdlet 时收到一些错误,请先使用 Add-AzureAccount
cmdlet。
测试结果: