Anfügen eines Datenträgers an einen virtuellen Windows-Computer mithilfe von PowerShellAttach a data disk to a Windows VM with PowerShell

In diesem Artikel wird beschrieben, wie Sie mithilfe von PowerShell sowohl neue als auch vorhandene Datenträger an einen virtuellen Windows-Computer anfügen.This article shows you how to attach both new and existing disks to a Windows virtual machine by using PowerShell.

Lesen Sie zunächst diese Tipps:First, review these tips:

In diesem Artikel wird PowerShell innerhalb von Azure Cloud Shell verwendet. Azure Cloud Shell wird kontinuierlich auf die neueste Version aktualisiert.This article uses PowerShell within the Azure Cloud Shell, which is constantly updated to the latest version. Wählen Sie zum Öffnen von Cloud Shell oben in einem Codeblock die Option Ausprobieren aus.To open the Cloud Shell, select Try it from the top of any code block.

Hinzufügen eines leeren Datenträgers zu einem virtuellen ComputerAdd an empty data disk to a virtual machine

Dieses Beispiel zeigt, wie Sie einem vorhandenen virtuellen Computer einen leeren Datenträger hinzufügen.This example shows how to add an empty data disk to an existing virtual machine.

Verwenden verwalteter DatenträgerUsing managed disks

$rgName = 'myResourceGroup'
$vmName = 'myVM'
$location = 'East US' 
$storageType = 'Premium_LRS'
$dataDiskName = $vmName + '_datadisk1'

$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $location -CreateOption Empty -DiskSizeGB 128
$dataDisk1 = New-AzDisk -DiskName $dataDiskName -Disk $diskConfig -ResourceGroupName $rgName

$vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName 
$vm = Add-AzVMDataDisk -VM $vm -Name $dataDiskName -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1

Update-AzVM -VM $vm -ResourceGroupName $rgName

Verwenden von verwalteten Datenträgern in einer VerfügbarkeitszoneUsing managed disks in an Availability Zone

Verwenden Sie zum Erstellen eines Datenträgers in einer Verfügbarkeitszone New-AzDiskConfig mit dem -Zone-Parameter.To create a disk in an Availability Zone, use New-AzDiskConfig with the -Zone parameter. Im folgenden Beispiel wird ein Datenträger in Zone 1 erstellt.The following example creates a disk in zone 1.

$rgName = 'myResourceGroup'
$vmName = 'myVM'
$location = 'East US 2'
$storageType = 'Premium_LRS'
$dataDiskName = $vmName + '_datadisk1'

$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $location -CreateOption Empty -DiskSizeGB 128 -Zone 1
$dataDisk1 = New-AzDisk -DiskName $dataDiskName -Disk $diskConfig -ResourceGroupName $rgName

$vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName 
$vm = Add-AzVMDataDisk -VM $vm -Name $dataDiskName -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1

Update-AzVM -VM $vm -ResourceGroupName $rgName

Datenträger initialisierenInitialize the disk

Nachdem Sie einen leeren Datenträger hinzugefügt haben, müssen Sie ihn initialisieren.After you add an empty disk, you'll need to initialize it. Um den Datenträger zu initialisieren, können Sie sich bei einem virtuellen Computer anmelden und die Datenträgerverwaltung verwenden.To initialize the disk, you can sign in to a VM and use disk management. Wenn Sie bei der Erstellung WinRM aktiviert und ein Zertifikat auf dem virtuellen Computer installiert haben, können Sie den Datenträger mit einem PowerShell-Remoteaufruf initialisieren.If you enabled WinRM and a certificate on the VM when you created it, you can use remote PowerShell to initialize the disk. Alternativ können Sie auch eine benutzerdefinierte Skripterweiterung verwenden:You can also use a custom script extension:

    $location = "location-name"
    $scriptName = "script-name"
    $fileName = "script-file-name"
    Set-AzVMCustomScriptExtension -ResourceGroupName $rgName -Location $locName -VMName $vmName -Name $scriptName -TypeHandlerVersion "1.4" -StorageAccountName "mystore1" -StorageAccountKey "primary-key" -FileName $fileName -ContainerName "scripts"

Die Skriptdatei kann Code für die Initialisierung der Datenträger enthalten. Beispiel:The script file can contain code to initialize the disks, for example:

    $disks = Get-Disk | Where partitionstyle -eq 'raw' | sort number

    $letters = 70..89 | ForEach-Object { [char]$_ }
    $count = 0
    $labels = "data1","data2"

    foreach ($disk in $disks) {
        $driveLetter = $letters[$count].ToString()
        $disk | 
        Initialize-Disk -PartitionStyle MBR -PassThru |
        New-Partition -UseMaximumSize -DriveLetter $driveLetter |
        Format-Volume -FileSystem NTFS -NewFileSystemLabel $labels[$count] -Confirm:$false -Force
    $count++
    }

Hinzufügen eines vorhandenen Datenträgers zu einem virtuellen ComputerAttach an existing data disk to a VM

Sie können einen vorhandenen verwalteten Datenträger als Datenträger für Daten an einen virtuellen Computer anfügen.You can attach an existing managed disk to a VM as a data disk.

$rgName = "myResourceGroup"
$vmName = "myVM"
$location = "East US" 
$dataDiskName = "myDisk"
$disk = Get-AzDisk -ResourceGroupName $rgName -DiskName $dataDiskName 

$vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName 

$vm = Add-AzVMDataDisk -CreateOption Attach -Lun 0 -VM $vm -ManagedDiskId $disk.Id

Update-AzVM -VM $vm -ResourceGroupName $rgName

Nächste SchritteNext steps

Sie können verwaltete Datenträger auch über Vorlagen bereitstellen.You can also deploy managed disks using templates. Weitere Informationen finden Sie unter Verwenden verwalteter Datenträger mit Resource Manager-Vorlagen oder in der Schnellstartvorlage (quickstart-template) zum Bereitstellen mehrerer Datenträger.For more information, see Using Managed Disks in Azure Resource Manager Templates or the quickstart template for deploying multiple data disks.