你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Save-AzureRmVMImage

将虚拟机另存为 VMImage。

警告

截至 2024 年 2 月 29 日,AzureRM PowerShell 模块已正式弃用。 为了确保持续获得支持和更新,建议用户从 AzureRM 迁移到 Az PowerShell 模块。

尽管 AzureRM 模块仍可能正常运行,但它不再维护或受支持,但会根据用户的自由裁量权和风险继续使用任何继续使用模块。 有关过渡到 Az 模块的指导,请参阅我们的迁移资源

语法

Save-AzureRmVMImage
    [-Name] <String>
    [-DestinationContainerName] <String>
    [-VHDNamePrefix] <String>
    [-Overwrite]
    [[-Path] <String>]
    [-ResourceGroupName] <String>
    [-AsJob]
    [-DefaultProfile <IAzureContextContainer>]
    [<CommonParameters>]
Save-AzureRmVMImage
    [-Name] <String>
    [-DestinationContainerName] <String>
    [-VHDNamePrefix] <String>
    [-Overwrite]
    [[-Path] <String>]
    [-Id] <String>
    [-AsJob]
    [-DefaultProfile <IAzureContextContainer>]
    [<CommonParameters>]

说明

Save-AzureRmVMImage cmdlet 将虚拟机另存为 VMImage。 在创建虚拟机映像之前,sysprep 虚拟机,然后使用 Set-AzureRmVM cmdlet 将其标记为通用化。 此 cmdlet 的输出是 JavaScript 对象表示法 (JSON) 模板。 可以从捕获的映像部署虚拟机。

示例

示例 1:捕获虚拟机

PS C:\> Set-AzureRmVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -Generalized 
PS C:\> Save-AzureRmVMImage -ResourceGroupName "ResourceGroup11" -VMName "VirtualMachine07" -DestinationContainerName "VMContainer01" -VHDNamePrefix "VM07"

第一个命令将名为 VirtualMachine07 的虚拟机标记为通用化。 第二个命令将名为 VirtualMachine07 的虚拟机捕获为 VMImage。 Output 属性返回 JSON 模板。

参数

-AsJob

在后台运行 cmdlet 并返回作业以跟踪进度。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

Type:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DestinationContainerName

指定要保存映像的“系统”容器中的容器的名称。 如果该容器不存在,系统会自动创建。 构成 VMImage 的虚拟硬盘(VHD)驻留在此参数指定的容器中。 如果 VHD 分布在多个存储帐户中,则此 cmdlet 会在每个存储帐户中创建一个具有此名称的容器。 保存图像的 URL 类似于:https://< storageAccountName.blob.core.windows.net/system/Microsoft.Compute/Images/>< imagesContainer>/<vhdPrefix-osDisk.xxxxxxxx-xxxx-xxxx-xxxx-xxx.vhd>。

Type:String
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Id

指定虚拟机的资源 ID。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

指定名称。

Type:String
Aliases:VMName
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Overwrite

指示此 cmdlet 覆盖目标容器中具有相同前缀的任何 VHD。

Type:SwitchParameter
Position:4
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Path

在其中存储捕获映像模板的文件路径。

Type:String
Position:5
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ResourceGroupName

指定虚拟机资源组的名称。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-VHDNamePrefix

指定构成 VMImage 存储配置文件的 blob 名称中的前缀。 例如,操作系统磁盘的前缀 vhdPrefix 会导致名称 vhdPrefix-osdisk。<guid.vhd>。

Type:String
Aliases:VirtualHardDiskNamePrefix
Position:3
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

输入

String

SwitchParameter

输出

PSComputeLongRunningOperation