我正在尝试使用Get-AzureRMVMImage
获取AzureRM的所有可用VM映像,但它不会列出任何图像,例如命令Get-AzureVMImage
如果我按照Get-AzureRMVmImage
帮助中给出的示例,那么它不会列出该Ubuntu VM。下面是我试图获取Windows 2012 R2 Datacenter Image。
PS C:\> Get-AzureRMVMImage -location "Central us" -publisherName "Microsoft" -offer "Windows Server 2012 R2 DataCenter"
Get-AzureRmVMImage : Parameter set cannot be resolved using the specified named parameters.
At line:1 char:1
+ Get-AzureRMVMImage -location "Central us" -publisherName "Microsoft" ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-AzureRmVMImage], ParameterBindingException
+ FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.Azure.Commands.Compute.GetAzureVMImageCommand
使用参数列出可用的RM vm图像的正确cmdlet是什么?
答案 0 :(得分:9)
您遇到的问题是您要查找的图像不存在。您的要约和出版商名称都不正确。
要查找图像,您需要按特定顺序浏览一组cmdlet。
首先,您使用
获得正确的发布者Get-AzureRmVMImagePublisher -Location westeurope
可能很难知道您需要从该特定列表中选择哪个Microsoft发布者。但是,如果将结果插入
Get-AzureRmVMImageOffer -Location westeurope `
-PublisherName microsoft
这使用了' microsoft'出版商名称并给出此列表
优惠
IBM
JDK
Oracle_Database_11g_R2
Oracle_Database_11g_R2_and_WebLogic_Server_11g Oracle_Database_12c
Oracle_Database_12c_and_WebLogic_Server_12c
Oracle_WebLogic_Server_11g
Oracle_WebLogic_Server_12c
显然不是你要找的东西!如果你再次查看发布者列表,那就是
Get-AzureRmVMImageOffer -Location westeurope `
-PublisherName MicrosoftWindowsServer
给出了
优惠
的WindowsServer
然后你需要找到带有
的skuGet-AzureRmVMImagesku -Location westeurope `
-PublisherName MicrosoftWindowsServer `
-Offer windowsserver
Skus
2008-R2-SP1
2012年数据中心
2012-R 2数据中心
2016纳米多克 - 测试
2016纳米服务器技术 - 预览
2016技术 - 预览 - 用的容器 Windows-Server-Technical-Preview
所以在那件事的最后,你要找的命令是
Get-AzureRMVMImage -location "Central us" `
-publisherName "MicrosoftWindowsServer" `
-sku "2012-R2-Datacenter" `
-Offer windowsserver
对于此特定图像,还有一些版本需要考虑,因此一旦运行,您可以选择要使用的版本,以便获得您将使用的最新版本
Get-AzureRMVMImage -location "Central us" `
-publisherName "MicrosoftWindowsServer" `
-sku "2012-R2-Datacenter" `
-Offer windowsserver `
-Version 4.0.20160229
答案 1 :(得分:4)
这不会列出像Mitul所说的所有图像。这将只列出一个图像。你怎么知道没有其他发行商在Windows 2012 R2上有什么东西?
这与原始功能更相似。您指定位置,然后管道输出到下一个命令。虽然这比旧的Azure PowerShell慢。
Get-AzureRmVMImagePublisher -Location 'East US' | Get-AzureRmVMImageOffer | Get-AzureRmVMImageSku | Get-AzureRMVMImage | Get-AzureRmVMImage