4

我是 Windows azure 的新手,我看过这个文档,对我来说它有效,在画廊中列出图像。 https://management.core.windows.net/subscription-id/services/images

但这不是我要找的,有没有办法在我的帐户上列出我的图像而不是画廊上的图像。

4

3 回答 3

9

如果您运行 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
于 2013-07-31T16:09:09.503 回答
1

您仍将使用相同的操作。该操作返回系统定义的(即画廊)和用户定义的图像。要仅查看用户定义的图像,您需要过滤PublisherName哪些是User用户定义的图像。这是文档所述:

PublisherName:图像发布者的名称。所有用户图像的发布者名称为 User。

于 2013-07-31T09:21:00.740 回答
0

试试下面的命令。它使用类别作为用户而不是发布者名称。

解决方案:

Get-AzureVMImage | Where-Object { $_.Category -match 'User'} | 
ForEach-Object { Write-Host $_.ImageName }
于 2017-07-11T14:31:29.940 回答