我是 Windows azure 的新手,我看过这个文档,对我来说它有效,在画廊中列出图像。 https://management.core.windows.net/subscription-id/services/images
但这不是我要找的,有没有办法在我的帐户上列出我的图像而不是画廊上的图像。
我是 Windows azure 的新手,我看过这个文档,对我来说它有效,在画廊中列出图像。 https://management.core.windows.net/subscription-id/services/images
但这不是我要找的,有没有办法在我的帐户上列出我的图像而不是画廊上的图像。
如果您运行 PowerShell cmdlet Get-AzureVMImage
,您将看到所有图像。正如@Gaurav 所述,与My Images相关的那些具有User的 PublisherName 。因此,再次使用 PowerShell,以下是如何通过管道查看您的图像Where-Object
:
Get-AzureVMImage | Where-Object { $_.PublisherName -eq 'User' }
如果您想在控制台中查看图像名称,可以将其通过管道传输到ForEach-Object
:
Get-AzureVMImage | Where-Object { $_.PublisherName -eq 'User' } |
ForEach-Object { Write-Host $_.ImageName }
注意:如果您的图像的 PublisherName 为空,请改用 Category -eq 'User'。
这是来自我的订阅的示例输出:
编辑 如果您使用的是 Mac/Linux CLI,您将运行稍微不同的命令:
azure vm image list
或者,返回 json:
azure vm image list --json
一旦你有了 json,你可以,例如,管道到一个命令行工具,比如jsontool来获取你自己的图像名称(图像名称在Name
密钥中返回):
azure vm image list --json | json -a -c 'this.Category == "User"' Name
您仍将使用相同的操作。该操作返回系统定义的(即画廊)和用户定义的图像。要仅查看用户定义的图像,您需要过滤PublisherName
哪些是User
用户定义的图像。这是文档所述:
PublisherName:图像发布者的名称。所有用户图像的发布者名称为 User。
试试下面的命令。它使用类别作为用户而不是发布者名称。
解决方案:
Get-AzureVMImage | Where-Object { $_.Category -match 'User'} |
ForEach-Object { Write-Host $_.ImageName }