Get-AzureRmResourceGroupDeployment 列出我在 Web 界面中看不到的机器
Get-AzureRmResourceGroupDeployment lists machines I cannot see in the web interface
我的任务是自动创建 Azure VM,自然而然地我做了一些或多或少的失败迭代来尝试部署 VM 映像。作为其中的一部分,我 ,但有一个奇怪的原因它不起作用:
上面link中的代码工作得很好,但是我的ResourceGroup的内容不符合预期。每次我部署(成功与否)时,都会在 Get-AzureRmResourceGroupDeployment
返回的任何列表中创建一个新条目;但是,在 Azure Web 界面中我只能看到其中的几个条目。例如,如果我省略了 JSON 文件的一个参数,Azure 甚至无法开始部署某些东西——但无论如何主机名都会以某种方式保留。
这个列表在哪里?部署失败后如何清理?
目前,Get-AzureRmResourceGroupDeployment
returns:
azure-w10-tfs13
azure-w10-tfs12
azure-w10-tfs11
azure-w10-tfs10
azure-w10-tfs09
azure-w10-tfs08
azure-w10-tfs07
azure-w10-tfs06
azure-w10-tfs05
azure-w10-tfs02
azure-w7-tfs01
azure-w10-tfs19
azure-w10-tfs1
尽管网络界面仅列出:
azure-w10-tfs12
azure-w10-tfs13
azure-w10-tfs09
azure-w10-tfs05
azure-w10-tfs02
已解决 使用代码 $siblings = (Get-AzureRmResource).Name | Where-Object{$_ -match "^$hostname\d+$"}
(PS。如果您有更好的标签提示,请随时编辑此问题!)
如果您在 Azure 资源管理模式下创建 VM,它将附加一个部署。事实上,如果您创建任何资源,它都会附加一个资源部署。
如果您删除该资源,您仍会在那里保留部署记录,因为您仍然在某个阶段部署了它。将部署视为帐户内发生的事情的审计跟踪的一部分。
您可以使用 Remove-AzureRmResourceGroupDeployment
删除部署记录,但没有什么意义,因为部署与 Azure 的操作无关。没有相关的成本,它们只是历史记录。
使用 Get-AzureRmResourceGroupDeployment
查询部署将产生以下字段。
DeploymentName
Mode
Outputs
OutputsString
Parameters
ParametersString
ProvisioningState
ResourceGroupName
TemplateLink
TemplateLinkString
Timestamp
因此,您可以通过 ProvisioningState
知道部署是否成功,了解您在 TemplateLink
和 TemplateLinkString
中使用的模板,并检查部署的输出等。这很有用找出哪些模板有效,哪些无效。
如果您想查看实际资源,您可能会被收取费用,您可以使用 Get-AzureRmResource
如果您只想检索 Azure 订阅中存在的 VM 的名称列表,您可以使用
(Get-AzureRmVM).Name
我的任务是自动创建 Azure VM,自然而然地我做了一些或多或少的失败迭代来尝试部署 VM 映像。作为其中的一部分,我
上面link中的代码工作得很好,但是我的ResourceGroup的内容不符合预期。每次我部署(成功与否)时,都会在 Get-AzureRmResourceGroupDeployment
返回的任何列表中创建一个新条目;但是,在 Azure Web 界面中我只能看到其中的几个条目。例如,如果我省略了 JSON 文件的一个参数,Azure 甚至无法开始部署某些东西——但无论如何主机名都会以某种方式保留。
这个列表在哪里?部署失败后如何清理?
目前,Get-AzureRmResourceGroupDeployment
returns:
azure-w10-tfs13
azure-w10-tfs12
azure-w10-tfs11
azure-w10-tfs10
azure-w10-tfs09
azure-w10-tfs08
azure-w10-tfs07
azure-w10-tfs06
azure-w10-tfs05
azure-w10-tfs02
azure-w7-tfs01
azure-w10-tfs19
azure-w10-tfs1
尽管网络界面仅列出:
azure-w10-tfs12
azure-w10-tfs13
azure-w10-tfs09
azure-w10-tfs05
azure-w10-tfs02
已解决 使用代码 $siblings = (Get-AzureRmResource).Name | Where-Object{$_ -match "^$hostname\d+$"}
(PS。如果您有更好的标签提示,请随时编辑此问题!)
如果您在 Azure 资源管理模式下创建 VM,它将附加一个部署。事实上,如果您创建任何资源,它都会附加一个资源部署。
如果您删除该资源,您仍会在那里保留部署记录,因为您仍然在某个阶段部署了它。将部署视为帐户内发生的事情的审计跟踪的一部分。
您可以使用 Remove-AzureRmResourceGroupDeployment
删除部署记录,但没有什么意义,因为部署与 Azure 的操作无关。没有相关的成本,它们只是历史记录。
使用 Get-AzureRmResourceGroupDeployment
查询部署将产生以下字段。
DeploymentName
Mode
Outputs
OutputsString
Parameters
ParametersString
ProvisioningState
ResourceGroupName
TemplateLink
TemplateLinkString
Timestamp
因此,您可以通过 ProvisioningState
知道部署是否成功,了解您在 TemplateLink
和 TemplateLinkString
中使用的模板,并检查部署的输出等。这很有用找出哪些模板有效,哪些无效。
如果您想查看实际资源,您可能会被收取费用,您可以使用 Get-AzureRmResource
如果您只想检索 Azure 订阅中存在的 VM 的名称列表,您可以使用
(Get-AzureRmVM).Name