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

Add-AzVhd

将虚拟硬盘从本地计算机上传到 Azure(托管磁盘或 Blob)。

语法

Add-AzVhd
   [-ResourceGroupName] <String>
   [-Destination] <Uri>
   [-LocalFilePath] <FileInfo>
   [[-NumberOfUploaderThreads] <Int32>]
   [[-BaseImageUriToPatch] <Uri>]
   [-OverWrite]
   [-SkipResizing]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Add-AzVhd
   [-ResourceGroupName] <String>
   [-LocalFilePath] <FileInfo>
   -DiskName <String>
   [-Location] <String>
   [-DiskSku <String>]
   [-DiskZone <String[]>]
   [-DiskHyperVGeneration <String>]
   [-DiskOsType <OperatingSystemTypes>]
   [[-NumberOfUploaderThreads] <Int32>]
   [-DataAccessAuthMode <String>]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

说明

Add-AzVhd cmdlet 将本地虚拟硬盘上传到托管磁盘或 Blob 存储帐户。

正在上传的虚拟硬盘必须是 .vhd 文件,大小为 N * Mib + 512 字节。 使用 Hyper-V 功能, Add-AzVhd 会将任何 .vhdx 文件转换为 .vhd 文件,并在上传之前调整大小。 若要允许此功能,需要 启用 Hyper-V。 如果使用 Linux 计算机或选择不使用此功能,则需要 手动调整 VHD 文件的大小。 此外, Add-AzVhd 将在上传期间将动态大小的 VHD 文件转换为固定大小。 用于 -Verbose 遵循所有过程。

对于默认参数集(上传到 blob),还支持上传本地 .vhd 文件的修补版本。 上传基本虚拟硬盘后,可以上传使用基础映像作为父映像的不同磁盘。 还支持共享访问签名(SAS)URI。

对于直接上传到托管磁盘参数集,参数:ResourceGroupName、DiskName、Location、DiskSku 和 Zone 将用于创建新磁盘,然后将虚拟硬盘上传到该磁盘。

有关使用 Add-AzVhd 直接上传到托管磁盘的详细信息

对于大于 50 GB 的 VHD 文件,建议使用 AzCopy 更快地上传。

示例

示例 1:将 VHD 文件添加到 Blob

Add-AzVhd -Destination "http://contosoaccount.blob.core.windows.net/vhdstore/win7baseimage.vhd" -LocalFilePath "C:\vhd\Win7Image.vhd"

此命令将 .vhd 文件添加到存储帐户。

示例 2:将 VHD 文件添加到 Blob 并覆盖目标

Add-AzVhd -Destination "http://contosoaccount.blob.core.windows.net/vhdstore/win7baseimage.vhd" -LocalFilePath "C:\vhd\Win7Image.vhd" -Overwrite

此命令将 .vhd 文件添加到存储帐户。 该命令覆盖现有文件。

示例 3:将 VHD 文件添加到具有指定线程数的 Blob

Add-AzVhd -Destination "http://contosoaccount.blob.core.windows.net/vhdstore/win7baseimage.vhd" -LocalFilePath "C:\vhd\Win7Image.vhd" -NumberOfUploaderThreads 32

此命令将 .vhd 文件添加到存储帐户。 该命令指定要用于上传文件的线程数。

示例 4:将 VHD 文件添加到 Blob 并指定 SAS URI

Add-AzVhd -Destination "http://contosoaccount.blob.core.windows.net/vhdstore/win7baseimage.vhd?st=2013-01 -09T22%3A15%3A49Z&se=2013-01-09T23%3A10%3A49Z&sr=b&sp=w&sig=13T9Ow%2FRJAMmhfO%2FaP3HhKKJ6AY093SmveO SIV4%2FR7w%3D" -LocalFilePath "C:\vhd\win7baseimage.vhd"

此命令将 .vhd 文件添加到存储帐户,并指定 SAS URI。

示例 5:将 VHD 文件直接添加到托管磁盘。

Add-AzVhd -LocalFilePath C:\data.vhd -ResourceGroupName rgname -Location eastus -DiskName newDisk

此命令使用给定的 ResourceGroupName、Location 和 DiskName 创建托管磁盘;并将 VHD 文件上传到其中。

示例 6:将 VHD 文件直接添加到配置较多的磁盘。

Add-AzVhd -LocalFilePath C:\Data.vhdx -ResourceGroupName rgname -Location eastus -DiskName newDisk -Zone 1 -DiskSku Premium_LRS

此命令将尝试先使用 Hyper-V 将 vhdx 文件转换为 vhd 文件。 如果未找到 Hyper-V,它将返回一个错误,要求使用 vhd 文件。 成功转换后,它将创建包含提供参数的托管磁盘,然后上传 vhd 文件。

参数

-AsJob

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

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-BaseImageUriToPatch

指定Azure Blob 存储中基本映像 blob 的 URI。 可以将 SAS 指定为此参数的值。

类型:Uri
别名:bs
Position:4
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-DataAccessAuthMode

导出或上传到磁盘或快照时的其他身份验证要求。 可能的选项包括:“AzureActiveDirectory”和“None”。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-DefaultProfile

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

类型:IAzureContextContainer
别名:AzContext, AzureRmContext, AzureCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Destination

指定 Blob 存储中 Blob 的 URI。 参数支持 SAS URI,尽管修补方案目标不能是 SAS URI。

类型:Uri
别名:dst
Position:1
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-DiskHyperVGeneration

虚拟机的虚拟机监控程序生成。 仅适用于 OS 磁盘。 可取值为:“V1”、“V2”。

类型:String
别名:HyperVGeneration
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-DiskName

新托管磁盘的名称

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-DiskOsType

托管磁盘的操作系统类型。 可能的值为:“Windows”、“Linux”。

类型:OperatingSystemTypes
别名:OsType
接受的值:Windows, Linux
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-DiskSku

托管磁盘的 SKU。 选项:Standard_LRS、Premium_LRS、StandardSSD_LRS、UltraSSD_LRS

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-DiskZone

磁盘的逻辑区域列表。

类型:String[]
别名:Zone
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-LocalFilePath

指定本地 .vhd 文件的路径。

类型:FileInfo
别名:lf
Position:2
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Location

新托管磁盘的位置

类型:String
Position:1
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-NumberOfUploaderThreads

指定上传 .vhd 文件时要使用的上传程序线程数。

类型:Nullable<T>[Int32]
别名:th
Position:3
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-OverWrite

指示此 cmdlet 覆盖指定目标 URI 中的现有 Blob(如果存在)。

类型:SwitchParameter
别名:o
Position:5
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ResourceGroupName

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

类型:String
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-SkipResizing

跳过 VHD 文件的大小调整。 希望将大小不对齐(而不是 N * Mib + 512 字节)的 VHD 文件上传到 Blob 的用户可以使用此开关参数。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输入

String

Uri

FileInfo

Nullable<T>[[System.Int32, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]

SwitchParameter

输出

VhdUploadContext