Det här kommandot anger egenskaper för operativsystemets profil för $vmss-objektet.
Kommandot anger datornamnprefixet för alla virtuella datorinstanser i VMSS för att testa och tillhandahåller administratörens användarnamn och lösenord.
Exempel 2: Ange operativsystemets profilegenskaper för en virtuell dator i flexibelt läge med Hotpatching aktiverat.
# 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 = ConvertTo-SecureString -String "****" -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;
Ange operativsystemets profilegenskaper för en virtuell dator i flexibelt läge med Hotpatching aktiverat
Parametrar
-AdditionalUnattendContent
Anger ett obevakat innehållsobjekt.
Du kan använda Add-AzVMAdditionalUnattendContent för att skapa objektet.
Anger namnet på administratörskontot som ska användas för alla virtuella datorinstanser i VMSS.
Begränsning:
Windows: Får inte innehålla specialtecken /""[]:|+=;,?*@& eller sluta i "".
Linux: Användarnamn får endast innehålla bokstäver, siffror, bindestreck och understreck och får inte börja med ett bindestreck eller tal.
Otillåtna värden: "administratör", "administratör", "användare", "användare1", "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".
Minsta längd: 1 tecken Max-length: 20 tecken för Windows, 64 tecken för Linux
En lista över inbyggda systemanvändare i Linux som inte ska användas i det här fältet finns i Välj användarnamn för Linux på Azure.
Anger en base-64-kodad sträng med anpassade data.
Detta avkodas till en binär matris som sparas som en fil på den virtuella datorn.
Den maximala längden på den binära matrisen är 65535 byte.
Information om hur du använder cloud-init för din virtuella dator finns i Använda cloud-init för att anpassa en virtuell Linux-dator under skapandet.
Gör det möjligt för kunder att korrigera sina Azure virtuella datorer utan att behöva starta om. För enableHotpatching måste "provisionVMAgent" anges till true och "patchMode" måste anges till "AutomaticByPlatform".
Anger läget för vm-gästkorrigering till virtuell IaaS-dator eller virtuella datorer som är associerade med VM-skalningsuppsättning med OrchestrationMode som flexibel.
Möjliga värden är:
ImageDefault – Den virtuella datorns standardkonfiguration för korrigering används.
AutomaticByPlatform – Den virtuella datorn uppdateras automatiskt av plattformen. Egenskapen provisionVMAgent måste vara sann
Anger om den virtuella datoragenten ska etableras på den virtuella datorn.
När den här egenskapen inte anges i begärandetexten är standardbeteendet att ange den till true. Detta säkerställer att VM-agenten är installerad på den virtuella datorn så att tillägg kan läggas till i den virtuella datorn senare
Anger Windows WinRM-lyssnare (Remote Management).
Detta möjliggör fjärr-Windows PowerShell.
Du kan använda cmdleten Add-AzVmssWinRMListener för att skapa lyssnaren.
Anger det hemlighetsobjekt som innehåller certifikatreferenserna som ska finnas på den virtuella datorn.
Du kan använda cmdleten Add-AzVmssSecret för att skapa objektet secrets.
Anger tidszonen för den virtuella datorn. t.ex. "Pacific Standard Time".
Möjliga värden kan vara TimeZoneInfo.Id värde från tidszoner som returneras av TimeZoneInfo.GetSystemTimeZones.
Anger läget för vm-gästkorrigering till virtuell IaaS-dator eller virtuella datorer som är associerade med VM-skalningsuppsättning med OrchestrationMode som flexibel.
Möjliga värden är:
Manuell – Du styr tillämpningen av korrigeringar på en virtuell dator. Det gör du genom att tillämpa korrigeringar manuellt i den virtuella datorn. I det här läget inaktiveras automatiska uppdateringar. egenskapen WindowsConfiguration.enableAutomaticUpdates måste vara false
AutomaticByOS – Den virtuella datorn uppdateras automatiskt av operativsystemet. Egenskapen WindowsConfiguration.enableAutomaticUpdates måste vara sann.
AutomaticByPlatform – uppdateras den virtuella datorn automatiskt av plattformen. Egenskaperna provisionVMAgent och WindowsConfiguration.enableAutomaticUpdates måste vara sanna
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.