Set-AzVmssOsProfile

Mengatur properti profil sistem operasi VMSS.

Sintaks

Set-AzVmssOsProfile
   [-VirtualMachineScaleSet] <PSVirtualMachineScaleSet>
   [[-ComputerNamePrefix] <String>]
   [[-AdminUsername] <String>]
   [[-AdminPassword] <String>]
   [[-CustomData] <String>]
   [[-WindowsConfigurationProvisionVMAgent] <Boolean>]
   [-LinuxConfigurationProvisionVMAgent <Boolean>]
   [[-WindowsConfigurationEnableAutomaticUpdate] <Boolean>]
   [[-TimeZone] <String>]
   [[-AdditionalUnattendContent] <AdditionalUnattendContent[]>]
   [[-Listener] <WinRMListener[]>]
   [[-LinuxConfigurationDisablePasswordAuthentication] <Boolean>]
   [[-PublicKey] <SshPublicKey[]>]
   [[-Secret] <VaultSecretGroup[]>]
   [-WindowsConfigurationPatchMode <String>]
   [-LinuxConfigurationPatchMode <String>]
   [-EnableHotpatching]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Deskripsi

Cmdlet Set-AzVmssOsProfile mengatur properti profil sistem operasi Set Skala Komputer Virtual.

Contoh

Contoh 1: Mengatur properti profil sistem operasi untuk VMSS

$vmss = New-AzVmssConfig -Location $Loc -SkuCapacity 2 -SkuName "Standard_A0" -UpgradePolicyMode "Automatic" -NetworkInterfaceConfiguration $NetCfg
Set-AzVmssOSProfile -VirtualMachineScaleSet $vmss -ComputerNamePrefix "Test" -AdminUsername $AdminUsername -AdminPassword $AdminPassword

Perintah ini mengatur properti profil sistem operasi untuk objek $vmss. Perintah mengatur awalan nama komputer untuk semua instans komputer virtual di VMSS untuk Menguji dan menyediakan nama pengguna dan kata sandi administrator.

Contoh 2: Atur properti profil sistem operasi untuk Vm dalam mode Fleksibel dengan Hotpatching diaktifkan.

# Setup variables.
$loc = "eastus";
$rgname = "<Resource Group Name>";
$vmssName = "myVmssSlb";
$vmNamePrefix = "vmSlb";
$vmssInstanceCount = 5;
$vmssSku = "Standard_DS1_v2";
$vnetname = "myVnet";
$vnetAddress = "10.0.0.0/16";
$subnetname = "default-slb";
$subnetAddress = "10.0.2.0/24";
$securePassword = "<Password>" | ConvertTo-SecureString -AsPlainText -Force;  
$cred = New-Object System.Management.Automation.PSCredential ("<Username>", $securePassword);

# VMSS Flex requires explicit outbound access.
# Create a virtual network.
$frontendSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetname -AddressPrefix $subnetAddress;
$virtualNetwork = New-AzVirtualNetwork -Name $vnetname -ResourceGroupName $rgname -Location $loc -AddressPrefix $vnetAddress -Subnet $frontendSubnet;

# Create a public IP address.
$publicIP = New-AzPublicIpAddress `
    -ResourceGroupName $rgname `
    -Location $loc `
    -AllocationMethod Static `
    -Sku "Standard" `
    -IpAddressVersion "IPv4" `
    -Name "myLBPublicIP";

# Create a frontend and backend IP pool.
$frontendIP = New-AzLoadBalancerFrontendIpConfig `
    -Name "myFrontEndPool" `
    -PublicIpAddress $publicIP;

$backendPool = New-AzLoadBalancerBackendAddressPoolConfig -Name "myBackEndPool" ;

# Create the load balancer.
$lb = New-AzLoadBalancer `
    -ResourceGroupName $rgname `
    -Name "myLoadBalancer" `
    -Sku "Standard" `
    -Tier "Regional" `
    -Location $loc `
    -FrontendIpConfiguration $frontendIP `
    -BackendAddressPool $backendPool;

# Create a load balancer health probe for TCP port 80.
Add-AzLoadBalancerProbeConfig -Name "myHealthProbe" `
    -LoadBalancer $lb `
    -Protocol TCP `
    -Port 80 `
    -IntervalInSeconds 15 `
    -ProbeCount 2;

# Create a load balancer rule to distribute traffic on port TCP 80.
# The health probe from the previous step is used to make sure that traffic is
# only directed to healthy VM instances.
Add-AzLoadBalancerRuleConfig `
    -Name "myLoadBalancerRule" `
    -LoadBalancer $lb `
    -FrontendIpConfiguration $lb.FrontendIpConfigurations[0] `
    -BackendAddressPool $lb.BackendAddressPools[0] `
    -Protocol TCP `
    -FrontendPort 80 `
    -BackendPort 80 `
    -DisableOutboundSNAT `
    -Probe (Get-AzLoadBalancerProbeConfig -Name "myHealthProbe" -LoadBalancer $lb);

# Add outbound connectivity rule.
Add-AzLoadBalancerOutboundRuleConfig `
    -Name "outboundrule" `
    -LoadBalancer $lb `
    -AllocatedOutboundPort '10000' `
    -Protocol 'All' `
    -IdleTimeoutInMinutes '15' `
    -FrontendIpConfiguration $lb.FrontendIpConfigurations[0] `
    -BackendAddressPool $lb.BackendAddressPools[0];

# Update the load balancer configuration.
Set-AzLoadBalancer -LoadBalancer $lb;

# Create IP address configurations.
# Instances will require explicit outbound connectivity, for example
#   - NAT Gateway on the subnet (recommended)
#   - Instances in backend pool of Standard LB with outbound connectivity rules
#   - Public IP address on each instance
# See aka.ms/defaultoutboundaccess for more info.
$ipConfig = New-AzVmssIpConfig `
    -Name "myIPConfig" `
    -SubnetId $virtualNetwork.Subnets[0].Id `
    -LoadBalancerBackendAddressPoolsId $lb.BackendAddressPools[0].Id `
    -Primary;

# Create a config object.
# The Vmss config object stores the core information for creating a scale set.
$vmssConfig = New-AzVmssConfig `
    -Location $loc `
    -SkuCapacity $vmssInstanceCount `
    -SkuName $vmssSku `
    -OrchestrationMode 'Flexible' `
    -PlatformFaultDomainCount 1;

# Reference a virtual machine image from the gallery.
Set-AzVmssStorageProfile $vmssConfig `
    -OsDiskCreateOption "FromImage" `
    -ImageReferencePublisher "MicrosoftWindowsServer" `
    -ImageReferenceOffer "WindowsServer" `
    -ImageReferenceSku "2022-datacenter-azure-edition-core-smalldisk" `
    -ImageReferenceVersion "latest";  

# Set up information for authenticating with the virtual machine.
Set-AzVmssOsProfile $vmssConfig `
    -AdminUsername $cred.UserName `
    -AdminPassword $cred.Password `
    -ComputerNamePrefix $vmNamePrefix `
    -WindowsConfigurationProvisionVMAgent $true `
    -WindowsConfigurationPatchMode "AutomaticByPlatform" `
    -EnableHotpatching;

# Attach the virtual network to the config object.
Add-AzVmssNetworkInterfaceConfiguration `
    -VirtualMachineScaleSet $vmssConfig `
    -Name "network-config" `
    -Primary $true `
    -IPConfiguration $ipConfig `
    -NetworkApiVersion '2020-11-01';

# Define the Application Health extension properties.
$publicConfig = @{"protocol" = "http"; "port" = 80; "requestPath" = "/healthEndpoint"};
$extensionName = "myHealthExtension";
$extensionType = "ApplicationHealthWindows";
$publisher = "Microsoft.ManagedServices";
# Add the Application Health extension to the scale set model.
Add-AzVmssExtension -VirtualMachineScaleSet $vmssConfig `
    -Name $extensionName `
    -Publisher $publisher `
    -Setting $publicConfig `
    -Type $extensionType `
    -TypeHandlerVersion "1.0" `
    -AutoUpgradeMinorVersion $True;

# Create the virtual machine scale set.
$vmss = New-AzVmss `
    -ResourceGroupName $rgname `
    -Name $vmssName `
    -VirtualMachineScaleSet $vmssConfig;

Parameter

-AdditionalUnattendContent

Menentukan objek isi tak terjaga. Anda dapat menggunakan Add-AzVMAdditionalUnattendContent untuk membuat objek.

Type:AdditionalUnattendContent[]
Position:8
Default value:None
Accept pipeline input:True
Accept wildcard characters:False
-AdminPassword

Menentukan kata sandi administrator yang akan digunakan untuk semua instans komputer virtual di VMSS.

Type:String
Position:3
Default value:None
Accept pipeline input:True
Accept wildcard characters:False
-AdminUsername

Menentukan nama akun administrator yang akan digunakan untuk semua instans komputer virtual di VMSS.
Pembatasan khusus Windows: Tidak dapat berakhiran "."
Nilai yang tidak diizinkan: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".
Panjang minimum (Linux): 1 karakter
Panjang maksimum (Linux): 64 karakter
Panjang maksimum (Windows): 20 karakter

  • Untuk daftar pengguna sistem bawaan di Linux yang tidak boleh digunakan di bidang ini, lihat [Memilih Nama Pengguna untuk Linux di Azure](https://docs.microsoft.com/azure/devops/organizations/settings/naming-restrictions).
    Type:String
    Position:2
    Default value:None
    Accept pipeline input:True
    Accept wildcard characters:False
  • -ComputerNamePrefix

    Menentukan awalan nama komputer untuk semua instans komputer virtual di VMSS. Panjang nama komputer harus 1 hingga 15 karakter.

    Type:String
    Position:1
    Default value:None
    Accept pipeline input:True
    Accept wildcard characters:False
    -Confirm

    Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.

    Type:SwitchParameter
    Aliases:cf
    Position:Named
    Default value:None
    Accept pipeline input:False
    Accept wildcard characters:False
    -CustomData

    Menentukan string data kustom yang dikodekan base-64. Ini didekodekan ke array biner yang disimpan sebagai file pada komputer virtual. Panjang maksimum array biner adalah 65535 byte.
    Untuk menggunakan cloud-init untuk VM Anda, lihat Menggunakan cloud-init untuk menyesuaikan VM Linux selama pembuatan.

    Type:String
    Position:4
    Default value:None
    Accept pipeline input:True
    Accept wildcard characters:False
    -DefaultProfile

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

    Type:IAzureContextContainer
    Aliases:AzContext, AzureRmContext, AzureCredential
    Position:Named
    Default value:None
    Accept pipeline input:False
    Accept wildcard characters:False
    -EnableHotpatching

    Memungkinkan pelanggan untuk menambal Azure Vm mereka tanpa memerlukan boot ulang. Untuk enableHotpatching, 'provisionVMAgent' harus diatur ke true dan 'patchMode' harus diatur ke 'AutomaticByPlatform'.

    Type:SwitchParameter
    Position:Named
    Default value:None
    Accept pipeline input:True
    Accept wildcard characters:False
    -LinuxConfigurationDisablePasswordAuthentication

    Menunjukkan bahwa cmdlet ini menonaktifkan autentikasi kata sandi.

    Type:Nullable<T>[Boolean]
    Position:10
    Default value:None
    Accept pipeline input:True
    Accept wildcard characters:False
    -LinuxConfigurationPatchMode

    Menentukan mode Patching Tamu VM ke komputer virtual IaaS atau komputer virtual yang terkait dengan set skala komputer virtual dengan OrchestrationMode sebagai Flexible.

    Potensi nilai:

    ImageDefault - Konfigurasi patching default komputer virtual digunakan.

    AutomaticByPlatform - Komputer virtual akan diperbarui secara otomatis oleh platform. Properti provisionVMAgent harus benar

    Type:String
    Position:Named
    Default value:None
    Accept pipeline input:True
    Accept wildcard characters:False
    -LinuxConfigurationProvisionVMAgent

    Menunjukkan apakah agen komputer virtual harus disediakan pada komputer virtual.

    Ketika properti ini tidak ditentukan dalam isi permintaan, perilaku default adalah mengaturnya ke true. Ini akan memastikan bahwa Agen VM diinstal pada VM sehingga ekstensi dapat ditambahkan ke VM nanti

    Type:Nullable<T>[Boolean]
    Position:Named
    Default value:None
    Accept pipeline input:True
    Accept wildcard characters:False
    -Listener

    Menentukan pendengar Windows Remote Management (WinRM). Ini memungkinkan Windows PowerShell jarak jauh. Anda dapat menggunakan cmdlet Add-AzVmssWinRMListener untuk membuat pendengar.

    Type:WinRMListener[]
    Position:9
    Default value:None
    Accept pipeline input:True
    Accept wildcard characters:False
    -PublicKey

    Menentukan objek kunci umum Secure Shell (SSH). Anda dapat menggunakan cmdlet Add-AzVMSshPublicKey untuk membuat objek.

    Type:SshPublicKey[]
    Position:11
    Default value:None
    Accept pipeline input:True
    Accept wildcard characters:False
    -Secret

    Menentukan objek rahasia yang berisi referensi sertifikat untuk ditempatkan pada komputer virtual. Anda dapat menggunakan cmdlet Add-AzVmssSecret untuk membuat objek rahasia.

    Type:VaultSecretGroup[]
    Position:12
    Default value:None
    Accept pipeline input:True
    Accept wildcard characters:False
    -TimeZone

    Menentukan zona waktu komputer virtual. misalnya "Waktu Standar Pasifik".
    Nilai yang mungkin dapat TimeZoneInfo.Id nilai dari zona waktu yang dikembalikan oleh TimeZoneInfo.GetSystemTimeZones.

    Type:String
    Position:7
    Default value:None
    Accept pipeline input:True
    Accept wildcard characters:False
    -VirtualMachineScaleSet

    Menentukan objek VMSS. Anda dapat menggunakan cmdlet New-AzVmssConfig untuk membuat objek.

    Type:PSVirtualMachineScaleSet
    Position:0
    Default value:None
    Accept pipeline input:True
    Accept wildcard characters:False
    -WhatIf

    Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.

    Type:SwitchParameter
    Aliases:wi
    Position:Named
    Default value:None
    Accept pipeline input:False
    Accept wildcard characters:False
    -WindowsConfigurationEnableAutomaticUpdate

    Menunjukkan apakah komputer virtual di VMSS diaktifkan untuk pembaruan otomatis.

    Type:Nullable<T>[Boolean]
    Position:6
    Default value:None
    Accept pipeline input:True
    Accept wildcard characters:False
    -WindowsConfigurationPatchMode

    Menentukan mode Patching Tamu VM ke komputer virtual IaaS atau komputer virtual yang terkait dengan set skala komputer virtual dengan OrchestrationMode sebagai Flexible.

    Potensi nilai:

    Manual - Anda mengontrol aplikasi patch ke komputer virtual. Anda melakukan ini dengan menerapkan patch secara manual di dalam VM. Dalam mode ini, pembaruan otomatis dinonaktifkan; properti WindowsConfiguration.enableAutomaticUpdates harus false

    AutomaticByOS - Komputer virtual akan diperbarui secara otomatis oleh OS. Properti WindowsConfiguration.enableAutomaticUpdates harus benar.

    AutomaticByPlatform - komputer virtual akan diperbarui secara otomatis oleh platform. Properti provisionVMAgent dan WindowsConfiguration.enableAutomaticUpdates harus benar

    Type:String
    Position:Named
    Default value:None
    Accept pipeline input:True
    Accept wildcard characters:False
    -WindowsConfigurationProvisionVMAgent

    Menunjukkan apakah agen komputer virtual harus disediakan pada komputer virtual di VMSS.

    Type:Nullable<T>[Boolean]
    Position:5
    Default value:None
    Accept pipeline input:True
    Accept wildcard characters:False

    Input

    PSVirtualMachineScaleSet

    String

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

    AdditionalUnattendContent[]

    WinRMListener[]

    SshPublicKey[]

    VaultSecretGroup[]

    Output

    PSVirtualMachineScaleSet