Azure 资源管理器存储 - 我可以使用 PowerShell 删除 VHD 文件吗?

Azure 资源管理器存储 - 我可以使用 PowerShell 删除 VHD 文件吗?

我最近一直在学习基于 Azure 资源管理器模板的部署,因此,在改进 ResourceManager 模板时,我部署和删除了大量虚拟机。我编写了一个 PowerShell 脚本来删除给定的虚拟机、负载均衡器、公共 IP 地址、网络接口等,但我找不到用于从 AzureRM 存储帐户中删除 VHD / blob / 的等效 cmdlet。

是否有 AzureRM PowerShell 方法来删​​除存储在 Azure ResourceManager 存储帐户中的 VHD 文件?或者这尚未实现?如果没有,是否有任何命令行替代方案(例如 Azure CLI 或解决方法)?

我看过:

Get-Command -Module AzureRM.Storage

由此可见:

CommandType     Name                                               Version    Source                                                                                     
-----------     ----                                               -------    ------                                                                                     
Cmdlet          Get-AzureRmStorageAccount                          1.1.3      AzureRm.Storage                                                                            
Cmdlet          Get-AzureRmStorageAccountKey                       1.1.3      AzureRm.Storage                                                                            
Cmdlet          Get-AzureRmStorageAccountNameAvailability          1.1.3      AzureRm.Storage                                                                            
Cmdlet          Get-AzureRmStorageUsage                            1.1.3      AzureRm.Storage                                                                            
Cmdlet          New-AzureRmStorageAccount                          1.1.3      AzureRm.Storage                                                                            
Cmdlet          New-AzureRmStorageAccountKey                       1.1.3      AzureRm.Storage                                                                            
Cmdlet          Remove-AzureRmStorageAccount                       1.1.3      AzureRm.Storage                                                                            
Cmdlet          Set-AzureRmCurrentStorageAccount                   1.1.3      AzureRm.Storage                                                                            
Cmdlet          Set-AzureRmStorageAccount                          1.1.3      AzureRm.Storage 

... 它没有我想要的。最接近的方法是添加和删除整个存储帐户,但由于我是从自定义模板部署的,我认为我只能将 VM VHD 存储在与模板相同的存储帐户中(如果我错了,请纠正我)。相比之下,Azure.Storage 模块有 *StorageFile/Blob/Container cmdlet。鉴于我看到了听起来像我想要的经典 Azure cmdlet,但没有 AzureRM 等效项,我怀疑答案暂时是“否”。

作为参考,我正在运行 Windows 10,并在过去几周内从 PowerShell 库安装了最新的 AzureRM PowerShell 模块(AzureRM 模块 1.6.0、AzureRM.Storage 1.1.3)

答案1

您可以将 Context 传递给 Remove-AzureStorageBlob。

$RGName = "stlvm"
$SAName = "stlvmstorage"
$ConName = "testcontainer"
$BlobName = "Test02.txt"
$Keylist = Get-AzureRmStorageAccountKey -ResourceGroupName $RGName -StorageAccountName $SAName
$Key = $Keylist[0].Value
$Ctx = New-AzureStorageContext -StorageAccountName $SAName -StorageAccountKey $Key
Get-AzureStorageBlob -Container $ConName -Context $Ctx | select Name
Remove-AzureStorageBlob -Container $ConName -Blob $BlobName -Context $Ctx
Get-AzureStorageBlob -Container $ConName -Context $Ctx | select Name

我已经在实验室服务器上测试过了。对我来说,它是有效的。

Azure

相关内容