如何使用PowerShell查找用于创建Azure VM的VM映像的名称?

Oli*_*ock 1 azure azure-vm-role

如果我使用Get-AzureVM(PowerShell cmdlet)来获取正在运行的VM,那么我得到的字段就是

DeploymentName
Name
Label
VM
InstanceStatus
IpAddress
InstanceStateDetails
PowerState
InstanceErrorCode
InstanceFaultDomain
InstanceName
InstanceUpgradeDomain
InstanceSize
HostName
AvailabilitySetName
DNSName
Status
GuestAgentStatus
ResourceExtensionStatusList
PublicIPAddress
PublicIPName
PublicIPDomainNameLabel
PublicIPFqdns
NetworkInterfaces
VirtualNetworkName
ServiceName
OperationDescription
OperationId
OperationStatus
Run Code Online (Sandbox Code Playgroud)

但是我看不到用于创建VM的映像的名称.我可以使用Azure门户(在"设置">"属性">"源图像名称"下)查看此信息.如何使用PowerShell获取源图像名称?

小智 7

如果您想在不使用 cmd/Powershell 的情况下检查源映像,请执行以下步骤:如何查找正在运行的 VM 映像版本。

> Go to azure portal
> Select the running/stopped VM whose image you want to identify
> Go to export template option
> On the right side of the screen, you will see the template window will open in JSON format.
> Ctrl+F (search) > imageReference > you will get your image version in the template.
Run Code Online (Sandbox Code Playgroud)


小智 6

您从操作系统磁盘的属性中获取源映像ID.

试试这个:

$vm = Get-AzureVM -ServiceName serviceName -Name vmName 
$vm.VM.OSVirtualHardDisk
Run Code Online (Sandbox Code Playgroud)

然后你应该得到这个例子:

HostCaching     : ReadWrite
DiskLabel       : 
DiskName        : multinicdemo-host1-0-201504131546160112
MediaLink       : https://multinicdemo.blob.core.windows.net/vhds/multinicdemo-host1-2015-4-13-17-46-7-664-0.vhd
SourceImageName : a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-201503.01-en.us-127GB.vhd
OS              : Windows
IOType          : Standard
ResizedSizeInGB : 
ExtensionData   : 
Run Code Online (Sandbox Code Playgroud)

或者在一行中:

(Get-AzureVM -ServiceName serviceName -Name vmName).VM.OSVirtualHardDisk.SourceImageName
Run Code Online (Sandbox Code Playgroud)