你当前正在访问 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 并返回作业以跟踪进度。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DefaultProfile
用于与 Azure 通信的凭据、帐户、租户和订阅。
类型: | IAzureContextContainer |
别名: | AzureRmContext, AzureCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | 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>。
类型: | String |
Position: | 2 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Id
指定虚拟机的资源 ID。
类型: | String |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Name
指定名称。
类型: | String |
别名: | VMName |
Position: | 1 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Overwrite
指示此 cmdlet 覆盖目标容器中具有相同前缀的任何 VHD。
类型: | SwitchParameter |
Position: | 4 |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Path
在其中存储捕获映像模板的文件路径。
类型: | String |
Position: | 5 |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-ResourceGroupName
指定虚拟机资源组的名称。
类型: | String |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-VHDNamePrefix
指定构成 VMImage 存储配置文件的 blob 名称中的前缀。 例如,操作系统磁盘的前缀 vhdPrefix 会导致名称 vhdPrefix-osdisk。<guid.vhd>。
类型: | String |
别名: | VirtualHardDiskNamePrefix |
Position: | 3 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |