Bagikan melalui


Set-AzVMOSDisk

Mengatur properti disk sistem operasi pada komputer virtual.

Sintaks

Set-AzVMOSDisk
   [-VM] <PSVirtualMachine>
   [[-Name] <String>]
   [[-VhdUri] <String>]
   [[-Caching] <CachingTypes>]
   [[-SourceImageUri] <String>]
   [[-CreateOption] <String>]
   [-DiskSizeInGB <Int32>]
   [-ManagedDiskId <String>]
   [-StorageAccountType <String>]
   [-DiskEncryptionSetId <String>]
   [-WriteAccelerator]
   [-DiffDiskSetting <String>]
   [-DiffDiskPlacement <String>]
   [-DeleteOption <String>]
   [-SecurityEncryptionType <String>]
   [-SecureVMDiskEncryptionSet <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzVMOSDisk
   [-VM] <PSVirtualMachine>
   [[-Name] <String>]
   [[-VhdUri] <String>]
   [[-Caching] <CachingTypes>]
   [[-SourceImageUri] <String>]
   [[-CreateOption] <String>]
   [-Windows]
   [-DiskSizeInGB <Int32>]
   [-ManagedDiskId <String>]
   [-StorageAccountType <String>]
   [-DiskEncryptionSetId <String>]
   [-WriteAccelerator]
   [-DiffDiskSetting <String>]
   [-DiffDiskPlacement <String>]
   [-DeleteOption <String>]
   [-SecurityEncryptionType <String>]
   [-SecureVMDiskEncryptionSet <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzVMOSDisk
   [-VM] <PSVirtualMachine>
   [[-Name] <String>]
   [[-VhdUri] <String>]
   [[-Caching] <CachingTypes>]
   [[-SourceImageUri] <String>]
   [[-CreateOption] <String>]
   [-Windows]
   [-DiskEncryptionKeyUrl] <String>
   [-DiskEncryptionKeyVaultId] <String>
   [[-KeyEncryptionKeyUrl] <String>]
   [[-KeyEncryptionKeyVaultId] <String>]
   [-DiskSizeInGB <Int32>]
   [-ManagedDiskId <String>]
   [-StorageAccountType <String>]
   [-DiskEncryptionSetId <String>]
   [-WriteAccelerator]
   [-DiffDiskSetting <String>]
   [-DiffDiskPlacement <String>]
   [-DeleteOption <String>]
   [-SecurityEncryptionType <String>]
   [-SecureVMDiskEncryptionSet <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzVMOSDisk
   [-VM] <PSVirtualMachine>
   [[-Name] <String>]
   [[-VhdUri] <String>]
   [[-Caching] <CachingTypes>]
   [[-SourceImageUri] <String>]
   [[-CreateOption] <String>]
   [-Linux]
   [-DiskSizeInGB <Int32>]
   [-ManagedDiskId <String>]
   [-StorageAccountType <String>]
   [-DiskEncryptionSetId <String>]
   [-WriteAccelerator]
   [-DiffDiskSetting <String>]
   [-DiffDiskPlacement <String>]
   [-DeleteOption <String>]
   [-SecurityEncryptionType <String>]
   [-SecureVMDiskEncryptionSet <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzVMOSDisk
   [-VM] <PSVirtualMachine>
   [[-Name] <String>]
   [[-VhdUri] <String>]
   [[-Caching] <CachingTypes>]
   [[-SourceImageUri] <String>]
   [[-CreateOption] <String>]
   [-Linux]
   [-DiskEncryptionKeyUrl] <String>
   [-DiskEncryptionKeyVaultId] <String>
   [[-KeyEncryptionKeyUrl] <String>]
   [[-KeyEncryptionKeyVaultId] <String>]
   [-DiskSizeInGB <Int32>]
   [-ManagedDiskId <String>]
   [-StorageAccountType <String>]
   [-DiskEncryptionSetId <String>]
   [-WriteAccelerator]
   [-DiffDiskSetting <String>]
   [-DiffDiskPlacement <String>]
   [-DeleteOption <String>]
   [-SecurityEncryptionType <String>]
   [-SecureVMDiskEncryptionSet <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Deskripsi

Cmdlet Set-AzVMOSDisk mengatur properti disk sistem operasi pada komputer virtual.

Contoh

Contoh 1: Mengatur properti pada komputer virtual dari gambar platform

$AvailabilitySet = Get-AzAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet13" 
$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine17" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id 
Set-AzVMOSDisk -VM $VirtualMachine -Name "OsDisk12" -VhdUri "os.vhd" -Caching ReadWrite
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Linux -ComputerName "MainComputer" -Credential (Get-Credential) 
$VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine -PublisherName "Canonical" -Offer "UbuntuServer" -Skus "15.10" -Version "latest"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name "osDisk.vhd" -VhdUri "https://mystorageaccount.blob.core.windows.net/disks/" -CreateOption FromImage
New-AzVM -VM $VirtualMachine -ResourceGroupName "ResourceGroup11"

Perintah pertama mendapatkan set ketersediaan bernama AvailabilitySet13 di grup sumber daya bernama ResourceGroup11, lalu menyimpan objek tersebut dalam variabel $AvailabilitySet. Perintah kedua membuat objek komputer virtual, lalu menyimpannya dalam variabel $VirtualMachine. Perintah menetapkan nama dan ukuran ke komputer virtual. Komputer virtual milik set ketersediaan yang disimpan di $AvailabilitySet. Perintah akhir mengatur properti pada komputer virtual di $VirtualMachine.

Contoh 2: Mengatur properti pada komputer virtual dari gambar pengguna umum

$AvailabilitySet = Get-AzAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet13" 
$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine17" -VMSize "Standard_A1"
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Linux -ComputerName "MainComputer" -Credential (Get-Credential)
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name "osDisk.vhd" -SourceImageUri "https://mystorageaccount.blob.core.windows.net/vhds/myOSImage.vhd" -VhdUri "https://mystorageaccount.blob.core.windows.net/disks/" -CreateOption fromImage -Linux
New-AzVM -VM $VirtualMachine -ResourceGroupName "ResourceGroup11"

Perintah pertama mendapatkan set ketersediaan bernama AvailabilitySet13 di grup sumber daya bernama ResourceGroup11 dan menyimpan objek tersebut dalam variabel $AvailabilitySet. Perintah kedua membuat objek komputer virtual dan menyimpannya dalam variabel $VirtualMachine. Perintah menetapkan nama dan ukuran ke komputer virtual. Komputer virtual milik set ketersediaan yang disimpan di $AvailabilitySet. Perintah akhir mengatur properti pada komputer virtual di $VirtualMachine.

Contoh 3: Mengatur properti pada komputer virtual dari gambar pengguna khusus

$AvailabilitySet = Get-AzAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet13" 
$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine17" -VMSize "Standard_A1"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name "osDisk.vhd" -VhdUri "https://mystorageaccount.blob.core.windows.net/disks/" -CreateOption Attach -Linux
New-AzVM -VM $VirtualMachine -ResourceGroupName "ResourceGroup11"

Perintah pertama mendapatkan set ketersediaan bernama AvailabilitySet13 di grup sumber daya bernama ResourceGroup11 dan menyimpan objek tersebut dalam variabel $AvailabilitySet. Perintah kedua membuat objek komputer virtual dan menyimpannya dalam variabel $VirtualMachine. Perintah menetapkan nama dan ukuran ke komputer virtual. Komputer virtual milik set ketersediaan yang disimpan di $AvailabilitySet. Perintah akhir mengatur properti pada komputer virtual di $VirtualMachine.

Contoh 4: Mengatur pengaturan enkripsi disk pada disk sistem operasi komputer virtual

$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine17" -VMSize "Standard_A1"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name "OsDisk12" -VhdUri "os.vhd" -Caching ReadWrite -Windows -CreateOption "Attach" -DiskEncryptionKeyUrl "https://mytestvault.vault.azure.net/secrets/Test1/514ceb769c984379a7e0230bddaaaaaa" -DiskEncryptionKeyVaultId "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.KeyVault/vaults/mytestvault"
New-AzVM -VM $VirtualMachine -ResourceGroupName " ResourceGroup11"

Contoh ini mengatur pengaturan enkripsi disk pada disk sistem operasi komputer virtual.

Contoh 5: Buat komputer virtual ConfidentialVM dengan enkripsi Disk OS VM DiskWithVMGuestState, dan Enkripsi Disk Set enkripsi ConfidentialVmEncryptedWithCustomerKey.

# Create Resource Group
$Location = 'northeurope';
New-AzResourceGroup -Name $ResourceGroupName -Location $Location;

$vmSize = "Standard_DC2as_v5";        
$identityType = "SystemAssigned";
$secureEncryptGuestState = "DiskWithVMGuestState";
$vmSecurityType = "ConfidentialVM";
$securePassword = "Password" | ConvertTo-SecureString -AsPlainText -Force; 
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);

# Create Key Vault
New-AzKeyVault -Name $keyVaultName -Location $Location -ResourceGroupName $ResourceGroupName -Sku Premium -EnablePurgeProtection -EnabledForDiskEncryption;

$cvmAgent = Get-AzADServicePrincipal -ApplicationId 'bf7b6499-ff71-4aa2-97a4-f372087be7f0';
Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -ResourceGroupName $ResourceGroupName -ObjectId $cvmAgent.id -PermissionsToKeys get,release;

# Add Key vault Key
$KeyName = "keyname";
$KeySize = 3072;

Add-AzKeyVaultKey -VaultName $kvname -Name $KeyName -Size $KeySize -KeyOps wrapKey,unwrapKey -KeyType RSA -Destination HSM -Exportable -UseDefaultCVMPolicy;
        
# Capture Key Vault and Key details
$encryptionKeyVaultId = (Get-AzKeyVault -VaultName $keyVaultName -ResourceGroupName $ResourceGroupName).ResourceId;
$encryptionKeyURL = (Get-AzKeyVaultKey -VaultName $keyVaultName -KeyName $keyName).Key.Kid;

# Create new DES Config and Disk Encryption Set
$diskEncryptionType = "ConfidentialVmEncryptedWithCustomerKey";
$desConfig = New-AzDiskEncryptionSetConfig -Location $loc -SourceVaultId $encryptionKeyVaultId -KeyUrl $encryptionKeyURL -IdentityType SystemAssigned -EncryptionType $diskEncryptionType;
New-AzDiskEncryptionSet -ResourceGroupName $ResourceGroupName -Name $desName -DiskEncryptionSet $desConfig;
        
$diskencset = Get-AzDiskEncryptionSet -ResourceGroupName $rgname -Name $desName;
        
# Assign DES Access Policy to key vault
$desIdentity = (Get-AzDiskEncryptionSet -Name $desName -ResourceGroupName $ResourceGroupName).Identity.PrincipalId;
        
Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -ResourceGroupName $ResourceGroupName -ObjectId $desIdentity -PermissionsToKeys wrapKey,unwrapKey,get -BypassObjectIdValidation;
        
$VirtualMachine = New-AzVMConfig -VMName $VMName -VMSize $vmSize;
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $computerName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate;
$VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine -PublisherName 'MicrosoftWindowsServer' -Offer 'windowsserver' -Skus '2022-datacenter-smalldisk-g2' -Version "latest";
        
$subnet = New-AzVirtualNetworkSubnetConfig -Name ($subnetPrefix + $ResourceGroupName) -AddressPrefix "10.0.0.0/24";
$vnet = New-AzVirtualNetwork -Force -Name ($vnetPrefix + $ResourceGroupName) -ResourceGroupName $ResourceGroupName -Location $loc -AddressPrefix "10.0.0.0/16" -Subnet $subnet;
$vnet = Get-AzVirtualNetwork -Name ($vnetPrefix + $ResourceGroupName) -ResourceGroupName $ResourceGroupName;
$subnetId = $vnet.Subnets[0].Id;
$pubip = New-AzPublicIpAddress -Force -Name ($pubIpPrefix + $ResourceGroupName) -ResourceGroupName $ResourceGroupName -Location $loc -AllocationMethod Dynamic -DomainNameLabel $domainNameLabel2;
$pubip = Get-AzPublicIpAddress -Name ($pubIpPrefix + $ResourceGroupName) -ResourceGroupName $ResourceGroupName;
$pubipId = $pubip.Id;
$nic = New-AzNetworkInterface -Force -Name ($nicPrefix + $ResourceGroupName) -ResourceGroupName $ResourceGroupName -Location $loc -SubnetId $subnetId -PublicIpAddressId $pubip.Id;
$nic = Get-AzNetworkInterface -Name ($nicPrefix + $ResourceGroupName) -ResourceGroupName $ResourceGroupName;
$nicId = $nic.Id;

$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $nicId;

# Set VM SecurityType and connect to DES
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -StorageAccountType "StandardSSD_LRS" -CreateOption "FromImage" -SecurityEncryptionType $secureEncryptGuestState -SecureVMDiskEncryptionSet $diskencset.Id;
$VirtualMachine = Set-AzVmSecurityProfile -VM $VirtualMachine -SecurityType $vmSecurityType;
$VirtualMachine = Set-AzVmUefi -VM $VirtualMachine -EnableVtpm $true -EnableSecureBoot $true;

New-AzVM -ResourceGroupName $ResourceGroupName -Location $loc -Vm $VirtualMachine;
$vm = Get-AzVm -ResourceGroupName $ResourceGroupName -Name $vmname;

# Verify the SecurityEncryptionType value on the disk.
# $vm.StorageProfile.OsDisk.ManagedDisk.SecurityProfile.SecurityEncryptionType == 'DiskWithVMGuestState';

Parameter

-Caching

Menentukan mode penembolokan disk sistem operasi. Nilai yang valid adalah:

  • Baca Saja
  • ReadWrite Nilai defaultnya adalah ReadWrite. Mengubah nilai penembolokan menyebabkan komputer virtual dimulai ulang. Pengaturan ini memengaruhi performa disk.
Jenis:Nullable<T>[CachingTypes]
Nilai yang diterima:None, ReadOnly, ReadWrite
Position:3
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-CreateOption

Menentukan apakah cmdlet ini membuat disk di komputer virtual dari platform atau gambar pengguna, atau melampirkan disk yang ada. Nilai yang valid adalah:

  • Melampirkan. Tentukan opsi ini untuk membuat komputer virtual dari disk khusus. Saat Anda menentukan opsi ini, jangan tentukan parameter SourceImageUri . Sebagai gantinya, gunakan cmdlet Set-AzVMSourceImage. Anda juga harus menggunakan parameter Windows atau Linux untuk memberi tahu platform azure jenis sistem operasi pada VHD. Parameter VhdUri sudah cukup untuk memberi tahu platform azure lokasi disk yang akan dilampirkan.
  • FromImage. Tentukan opsi ini untuk membuat komputer virtual dari gambar platform atau gambar pengguna umum. Dalam kasus gambar pengguna umum, Anda juga perlu menentukan parameter SourceImageUri dan parameter Windows atau Linux untuk memberi tahu platform Azure lokasi dan jenis disk sistem operasi VHD alih-alih menggunakan cmdlet Set-AzVMSourceImage . Dalam kasus gambar platform, parameter VhdUri sudah cukup.
  • Kosong.
Jenis:String
Position:5
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-DefaultProfile

Kredensial, akun, penyewa, dan langganan yang digunakan untuk komunikasi dengan azure.

Jenis:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-DeleteOption

Menentukan opsi penghapusan Disk OS setelah penghapusan VM. Opsinya adalah Lepaskan, Hapus

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-DiffDiskPlacement

Menentukan penempatan disk ephemeral untuk disk sistem operasi. Properti ini dapat digunakan oleh pengguna dalam permintaan untuk memilih lokasi yaitu disk cache atau ruang disk sumber daya untuk provisi disk OS Ephemeral. Untuk informasi selengkapnya tentang persyaratan ukuran disk OS Ephemeral, lihat Persyaratan ukuran disk OS Ephemeral untuk VM Windows di https://learn.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements dan Linux VM di https://learn.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. Parameter ini hanya dapat digunakan jika parameter DiffDiskSetting diatur ke 'Lokal'.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-DiffDiskSetting

Menentukan pengaturan disk yang berbeda untuk disk sistem operasi.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-DiskEncryptionKeyUrl

Menentukan lokasi kunci enkripsi disk.

Jenis:String
Position:7
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

-DiskEncryptionKeyVaultId

Menentukan ID sumber daya Key Vault yang berisi kunci enkripsi disk.

Jenis:String
Position:8
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

-DiskEncryptionSetId

Menentukan ID sumber daya set enkripsi disk yang dikelola pelanggan. Ini hanya dapat ditentukan untuk disk terkelola.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-DiskSizeInGB

Menentukan ukuran, dalam GB, dari disk sistem operasi.

Jenis:Nullable<T>[Int32]
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-KeyEncryptionKeyUrl

Menentukan lokasi kunci enkripsi kunci.

Jenis:String
Position:9
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-KeyEncryptionKeyVaultId

Menentukan ID sumber daya Key Vault yang berisi kunci enkripsi kunci.

Jenis:String
Position:10
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Linux

Menunjukkan bahwa sistem operasi pada gambar pengguna adalah Linux. Tentukan parameter ini untuk penyebaran komputer virtual berbasis gambar pengguna.

Jenis:SwitchParameter
Position:6
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-ManagedDiskId

Menentukan ID disk terkelola.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Name

Menentukan nama disk sistem operasi.

Jenis:String
Alias:OSDiskName, DiskName
Position:1
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-SecureVMDiskEncryptionSet

ID Sumber Daya ARM untuk Set Enkripsi Disk. Memungkinkan pelanggan untuk menyediakan ID ARM untuk Set Enkripsi Disk yang dibuat dengan jenis enkripsi ConfidentialVmEncryptedWithCustomerKey. Ini akan memungkinkan pelanggan untuk menggunakan enkripsi Kunci Terkelola Pelanggan (CMK) dengan VM Rahasia. Nilai Parameter SecurityEncryptionType harus DiskwithVMGuestState.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-SecurityEncryptionType

Mengatur nilai SecurityEncryptionType pada disk terkelola VM. kemungkinan nilai meliputi: TrustedLaunch, ConfidentialVM_DiskEncryptedWithCustomerKey, ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, ConfidentialVM_DiskEncryptedWithPlatformKey

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-SourceImageUri

Menentukan URI VHD untuk skenario gambar pengguna.

Jenis:String
Alias:SourceImage
Position:4
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-StorageAccountType

Menentukan jenis akun penyimpanan disk terkelola.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-VhdUri

Menentukan Pengidentifikasi Sumber Daya Seragam (URI) dari hard disk virtual (VHD). Untuk komputer virtual berbasis gambar, parameter ini menentukan file VHD yang akan dibuat saat gambar platform atau gambar pengguna ditentukan. Ini adalah lokasi tempat objek besar biner gambar (BLOB) disalin untuk memulai komputer virtual. Untuk skenario boot komputer virtual berbasis disk, parameter ini menentukan file VHD yang digunakan komputer virtual secara langsung untuk memulai.

Jenis:String
Alias:OSDiskVhdUri, DiskVhdUri
Position:2
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-VM

Menentukan objek komputer virtual lokal untuk mengatur properti disk sistem operasi. Untuk mendapatkan objek komputer virtual, gunakan cmdlet Get-AzVM.

Jenis:PSVirtualMachine
Alias:VMProfile
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard:False

-Windows

Menunjukkan bahwa sistem operasi pada gambar pengguna adalah Windows.

Jenis:SwitchParameter
Position:6
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-WriteAccelerator

Menentukan apakah WriteAccelerator harus diaktifkan atau dinonaktifkan pada disk OS.

Jenis:SwitchParameter
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

Input

PSVirtualMachine

String

Output

PSVirtualMachine