共用方式為


Add-AzVMDataDisk

將資料磁碟新增至虛擬機器。

語法

Add-AzVMDataDisk
   [-VM] <PSVirtualMachine>
   [[-Name] <String>]
   [[-VhdUri] <String>]
   [[-Caching] <CachingTypes>]
   [[-DiskSizeInGB] <Int32>]
   [-Lun] <Int32>
   [-CreateOption] <String>
   [[-SourceImageUri] <String>]
   [-DiskEncryptionSetId <String>]
   [-DeleteOption <String>]
   [-SourceResourceId <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Add-AzVMDataDisk
   [-VM] <PSVirtualMachine>
   [[-Name] <String>]
   [[-Caching] <CachingTypes>]
   [[-DiskSizeInGB] <Int32>]
   [-Lun] <Int32>
   [-CreateOption] <String>
   [[-ManagedDiskId] <String>]
   [[-StorageAccountType] <String>]
   [-DiskEncryptionSetId <String>]
   [-WriteAccelerator]
   [-DeleteOption <String>]
   [-SourceResourceId <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

Add-AzVMDataDisk Cmdlet 會將數據磁碟新增至虛擬機。 您可以在建立虛擬機時新增數據磁碟,也可以將數據磁碟新增至現有的虛擬機。

範例

範例 1:將數據磁碟新增至新的虛擬機

$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1"
$DataDiskVhdUri01 = "https://contoso.blob.core.windows.net/test/data1.vhd"
$DataDiskVhdUri02 = "https://contoso.blob.core.windows.net/test/data2.vhd"
$DataDiskVhdUri03 = "https://contoso.blob.core.windows.net/test/data3.vhd"
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk1' -Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 0 -VhdUri $DataDiskVhdUri01 -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk2' -Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 1 -VhdUri $DataDiskVhdUri02 -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk3' -Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 2 -VhdUri $DataDiskVhdUri03 -CreateOption Empty

第一個命令會建立虛擬機對象,然後將它儲存在$VirtualMachine變數中。 命令會將名稱和大小指派給虛擬機。 接下來的三個命令會將三個數據磁碟的路徑指派給 $DataDiskVhdUri 01、$DataDiskVhdUri 02 和 $DataDiskVhdUri 03 變數。 此方法僅適用於下列命令的可讀性。 最後三個命令會將數據磁碟新增至儲存在 $VirtualMachine 中的虛擬機。 命令會指定磁碟的名稱和位置,以及磁碟的其他屬性。 每個磁碟的 URI 會儲存在 $DataDiskVhdUri 01、$DataDiskVhdUri 02 和 $DataDiskVhdUri 03 中。

範例 2:將數據磁碟新增至現有的虛擬機

$VirtualMachine = Get-AzVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07"
Add-AzVMDataDisk -VM $VirtualMachine -Name "disk1" -VhdUri "https://contoso.blob.core.windows.net/vhds/diskstandard03.vhd" -LUN 0 -Caching ReadOnly -DiskSizeinGB 1 -CreateOption Empty
Update-AzVM -ResourceGroupName "ResourceGroup11" -VM $VirtualMachine

第一個命令會使用 Get-AzVM Cmdlet 來取得名為 VirtualMachine07 的虛擬機。 命令會將虛擬機儲存在 $VirtualMachine 變數中。 第二個命令會將數據磁碟新增至儲存在 $VirtualMachine 中的虛擬機。 最後一個命令會更新儲存在 ResourceGroup11 $VirtualMachine 中的虛擬機狀態。

範例 3:從一般化使用者映射將數據磁碟新增至新的虛擬機

$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1"
$DataImageUri = "https://contoso.blob.core.windows.net/system/Microsoft.Compute/Images/captured/dataimage.vhd"
$DataDiskUri = "https://contoso.blob.core.windows.net/test/datadisk.vhd"
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name "disk1" -SourceImageUri $DataImageUri -VhdUri $DataDiskUri -Lun 0 -DiskSizeinGB 10 -CreateOption FromImage

第一個命令會建立虛擬機物件,並將其儲存在$VirtualMachine變數中。 命令會將名稱和大小指派給虛擬機。 接下來的兩個命令會將數據映像和數據磁碟的路徑分別指派給$DataImageUri和$DataDiskUri變數。 此方法可用來改善下列命令的可讀性。 最後的命令會將數據磁碟新增至儲存在 $VirtualMachine 中的虛擬機。 命令會指定磁碟的名稱和位置,以及磁碟的其他屬性。

範例 4:從特製化使用者映射將數據磁碟新增至新的虛擬機

$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1"
$DataDiskUri = "https://contoso.blob.core.windows.net/test/datadisk.vhd"
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name "dd1" -VhdUri $DataDiskUri -Lun 0 -DiskSizeinGB 10 -CreateOption Attach

第一個命令會建立虛擬機物件,並將其儲存在$VirtualMachine變數中。 命令會將名稱和大小指派給虛擬機。 下一個命令會將數據磁碟的路徑指派給$DataDiskUri變數。 此方法可用來改善下列命令的可讀性。 最後一個命令會將數據磁碟新增至儲存在 $VirtualMachine 中的虛擬機。 命令會指定磁碟的名稱和位置,以及磁碟的其他屬性。

參數

-Caching

指定磁碟的快取模式。 此參數可接受的值為:

  • ReadOnly
  • 讀寫
  • 無預設值為 ReadWrite。 變更此值會導致虛擬機重新啟動。 此設定會影響磁碟的一致性和效能。
類型:CachingTypes
接受的值:None, ReadOnly, ReadWrite
Position:3
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-CreateOption

指定此 Cmdlet 是否從平台或使用者映像在虛擬機中建立磁碟、建立空白磁碟,或連接現有的磁碟。 此參數可接受的值為:

  • 附加。 指定此選項可從特製化磁碟建立虛擬機。 當您指定此選項時,請勿指定 SourceImageUri 參數。 VhdUri 是所有必要專案,以便告訴 Azure 平台虛擬硬碟的位置,以作為數據磁碟連結至虛擬機。
  • 空白。 指定此選項以建立空的數據磁碟。
  • FromImage。 指定此選項可從一般化映像或磁碟建立虛擬機。 當您指定此選項時,也必須指定 SourceImageUri 參數,才能告訴 Azure 平臺要附加為資料磁碟的 VHD 位置。 VhdUri 參數是用來識別虛擬機使用數據磁碟 VHD 時儲存位置的位置。
  • 空白。 建立空白數據磁碟時會使用此值。
  • 複製。 這個值可用來從快照集或其他磁碟建立數據磁碟。 還原: 此值用來從磁碟還原點建立數據磁碟。
類型:String
Position:6
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-DefaultProfile

用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶。

類型:IAzureContextContainer
別名:AzContext, AzureRmContext, AzureCredential
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-DeleteOption

數據磁碟刪除選項。 指定要在 VM 刪除後在磁碟上執行的動作。 選項包括:卸離、刪除。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-DiskEncryptionSetId

指定客戶受控磁碟加密集的資源標識碼。 這隻能指定給受控磁碟。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-DiskSizeInGB

指定要連結至虛擬機之空磁碟的大小,以 GB 為單位。

類型:Nullable<T>[Int32]
Position:4
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-Lun

指定數據磁碟的邏輯單元編號 (LUN)。

類型:Nullable<T>[Int32]
Position:5
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-ManagedDiskId

指定受控磁碟的識別碼。

類型:String
Position:8
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-Name

指定要加入的數據磁碟名稱。

類型:String
Position:1
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-SourceImageUri

指定此 Cmdlet 所連結磁碟的來源 URI。

類型:String
別名:SourceImage
Position:7
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-SourceResourceId

要從中建立磁碟的快照集或磁碟還原點的ARM標識碼。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-StorageAccountType

指定受控磁碟的記憶體帳戶類型。

類型:String
Position:9
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-VhdUri

指定虛擬硬碟 (VHD) 檔案在使用平臺映像或使用者映射時所要建立的統一資源識別碼 (URI)。 此 Cmdlet 會將映像二進位大型物件 (blob) 複製到這個位置。 這是啟動虛擬機的位置。

類型:String
Position:2
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-VM

指定要在其中新增數據磁碟的本機虛擬機物件。 您可以使用 Get-AzVM Cmdlet 來取得虛擬機物件。 您可以使用 New-AzVMConfig Cmdlet 來建立虛擬機物件。

類型:PSVirtualMachine
別名:VMProfile
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-WriteAccelerator

指定是否應該在受控數據磁碟上啟用或停用 WriteAccelerator。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

PSVirtualMachine

String

CachingTypes

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

輸出

PSVirtualMachine

PSVirtualMachineScaleSetVM