Bu komut, $vmss nesnesi için işletim sistemi profili özelliklerini ayarlar.
komutu, VMSS'deki tüm sanal makine örnekleri için bilgisayar adı ön ekini Test olarak ayarlar ve yönetici kullanıcı adını ve parolasını sağlar.
Örnek 2: Vmss'nin işletim sistemi profili özelliklerini Çalışırken Düzeltme Eki etkinleştirilmiş esnek modda ayarlayın.
# 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;
Vmss için işletim sistemi profili özelliklerini Esnek modda, Çalışırken Düzeltme Eki etkinleştirilmiş olarak ayarlama
Parametreler
-AdditionalUnattendContent
Katılımsız içerik nesnesini belirtir.
nesneyi oluşturmak için Add-AzVMAdditionalUnattendContent kullanabilirsiniz.
VMSS'deki tüm sanal makine örnekleri için kullanılacak yönetici hesabı adını belirtir. Kısıtlama:
Windows: /""[]:|+=;,?*@& özel karakterler içeremez veya "." ile bitemez.
Linux: Kullanıcı adı yalnızca harf, sayı, kısa çizgi ve alt çizgi içermelidir ve kısa çizgi veya sayıyla başlanmayabilir.
İzin verilmeyen değerler : "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". En az uzunluk: 1 karakter Max-length: Windows için 20 karakter, Linux için 64 karakter
Linux'ta bu alanda kullanılmaması gereken yerleşik sistem kullanıcılarının listesi için bkz. Selecting User Names for Linux on Azure.
Özel verilerin 64 tabanında kodlanmış dizesini belirtir.
Bu kod, sanal makinede dosya olarak kaydedilen bir ikili diziyle çözülecek.
İkili dizinin uzunluk üst sınırı 65535 bayttır.
VM'niz için cloud-init kullanmak için bkz. Oluşturma sırasında Linux VM'sini özelleştirmek için cloud-init kullanma.
Müşterilerin yeniden başlatma gerektirmeden Azure Vm'lerine düzeltme eki uygulamalarına olanak tanır. enableHotpatching için 'provisionVMAgent' true ve 'patchMode' değeri 'AutomaticByPlatform' olarak ayarlanmalıdır.
IaaS sanal makinesine veya OrchestrationMode ile sanal makine ölçek kümesiyle ilişkilendirilmiş sanal makinelere VM Konuk Düzeltme Eki Uygulama modunu Esnek olarak belirtir.
Olası değerler şunlardır:
ImageDefault - Sanal makinenin varsayılan düzeltme eki uygulama yapılandırması kullanılır.
AutomaticByPlatform - Sanal makine platform tarafından otomatik olarak güncelleştirilir. provisionVMAgent özelliği true olmalıdır
Sanal makine aracısının sanal makinede sağlanıp sağlanmayacağını gösterir.
Bu özellik istek gövdesinde belirtilmediğinde, varsayılan davranış bunu true olarak ayarlamaktır. Bu, VM'ye uzantıların daha sonra eklenebilmesi için VM'ye VM Aracısı'nın yüklenmesini sağlar
Windows Uzaktan Yönetim (WinRM) dinleyicilerini belirtir.
Bu, Uzak Windows PowerShell'i etkinleştirir.
Dinleyiciyi oluşturmak için Add-AzVmssWinRMListener cmdlet'ini kullanabilirsiniz.
Sanal makineye yerleştirecek sertifika başvurularını içeren gizli dizi nesnesini belirtir.
Gizli dizi nesnesini oluşturmak için Add-AzVmssSecret cmdlet'ini kullanabilirsiniz.
IaaS sanal makinesine veya OrchestrationMode ile sanal makine ölçek kümesiyle ilişkilendirilmiş sanal makinelere VM Konuk Düzeltme Eki Uygulama modunu Esnek olarak belirtir.
Olası değerler şunlardır:
El ile - Bir sanal makineye düzeltme eki uygulanmasını denetlersiniz. Bunu yapmak için VM'nin içine el ile düzeltme eki uygularsınız. Bu modda otomatik güncelleştirmeler devre dışı bırakılır; WindowsConfiguration.enableAutomaticUpdates özelliği false olmalıdır
AutomaticByOS - Sanal makine işletim sistemi tarafından otomatik olarak güncelleştirilir. WindowsConfiguration.enableAutomaticUpdates özelliği true olmalıdır.
AutomaticByPlatform - Sanal makine platform tarafından otomatik olarak güncelleştirilir. provisionVMAgent ve WindowsConfiguration.enableAutomaticUpdates özellikleri true olmalıdır
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.
Bu içeriğin kaynağı GitHub'da bulunabilir; burada ayrıca sorunları ve çekme isteklerini oluşturup gözden geçirebilirsiniz. Daha fazla bilgi için katkıda bulunan kılavuzumuzu inceleyin.