powershell - 删除Azure VM时如何从存储blob中删除 "bootdiagnostics"容器?

标签 powershell azure azure-storage azure-blob-storage azure-diagnostics

我的任务是自动创建 Azure VM,自然而然地,我在尝试部署 VM 镜像时进行了许多或多或少损坏的迭代。

我刚刚发现我的存储帐户的 blob 服务正在收集一长串容器列表以进行启动诊断。

因为我已经删除了它们所属的许多虚拟机,所以这些容器对我来说都是无用的,并且在门户中它们挤掉了我确实想要的几个有用的文件夹。事实上,我有一个脚本来销毁虚拟机(它删除资源、VHD 等);我希望这个脚本也杀死这些诊断容器。

但是容器的名称非常尴尬 - 并且只包含主机名的一部分......

  • 如何从 Powershell 识别属于特定虚拟机的诊断容器,以便将其与其他资源一起删除?
  • 为什么 Azure 不能更优雅地处理这个问题,为什么我必须“发现”在删除 VM 时诊断容器和 VHD 没有被删除?是否还有另一个我不知道的按钮或屏幕?

enter image description here

最佳答案

根据我的粗略观察,bootdiagnostic 存储容器名称可能仅包含名称超过 8 个字符的部分 VM 名称。但是,容器名称的最后部分(即虚拟机名称后面的部分)是虚拟机的唯一标识符。您可以使用以下文章中提到的步骤检索 VM 的唯一标识符名称:https://azure.microsoft.com/en-us/blog/accessing-and-using-azure-vm-unique-id/ 。对于 ARM VM,您可以通过 REST 检索 VM 名称的唯一标识符。

如果可以解析 bootdiagnostic 存储容器名称字符串以获取 VM 的唯一标识符,从而找出哪些 VM 正在使用哪些 Blob 存储容器。

谢谢, 昂

关于powershell - 删除Azure VM时如何从存储blob中删除 "bootdiagnostics"容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35365523/

相关文章:

windows - 如何使用 PowerShell 将 DOS 风格的命令行拆分为其参数

azure - Azure 应用服务中使用的字体列表是什么

azure - 如何使用ARM模板部署Azure Function时添加project.json和run.csx

c# - Azure Storage Queue.AddMessageAsync(item,cancelToken) 缺少接受两个参数的方法

azure - 存储帐户的类型不受支持 'Blob-Only/ZRS' 。支持的类型为 'General Purpose'

c# - 提高 Azure Blob 存储查询速度

powershell - 如何使用 Powershell 枚举 IIS 网站并找到每个网站的应用程序池?

regex - 当我在 PowerShell 中 select-string(grep) 时,如何仅返回匹配的正则表达式?

powershell - 如何将多行字符串转换为对象或数组?

azure - 在文件名中使用通配符 (*) 时,无法从 Azure 数据工厂中的 SFTP 复制文件