Aracılığıyla paylaş


Set-AzVmssOsProfile

VMSS işletim sistemi profili özelliklerini ayarlar.

Syntax

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>]

Description

Set-AzVmssOsProfile cmdlet'i, Sanal Makine Ölçek Kümesi işletim sistemi profili özelliklerini ayarlar.

Örnekler

Örnek 1: VMSS için işletim sistemi profili özelliklerini ayarlama

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

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 = "<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;

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.

Tür:AdditionalUnattendContent[]
Position:8
varsayılan değer:None
Gerekli:False
Accept pipeline input:True
Accept wildcard characters:False

-AdminPassword

VMSS'deki tüm sanal makine örnekleri için kullanılacak yönetici parolasını belirtir.

Tür:String
Position:3
varsayılan değer:None
Gerekli:False
Accept pipeline input:True
Accept wildcard characters:False

-AdminUsername

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 bitirin.
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
Maksimum uzunluk: 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 . Azure'da Linux için Kullanıcı Adlarını Seçme.

Tür:String
Position:2
varsayılan değer:None
Gerekli:False
Accept pipeline input:True
Accept wildcard characters:False

-ComputerNamePrefix

VMSS'deki tüm sanal makine örnekleri için bilgisayar adı ön ekini belirtir. Bilgisayar adları 1 ile 15 karakter uzunluğunda olmalıdır.

Tür:String
Position:1
varsayılan değer:None
Gerekli:False
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister.

Tür:SwitchParameter
Aliases:cf
Position:Named
varsayılan değer:None
Gerekli:False
Accept pipeline input:False
Accept wildcard characters:False

-CustomData

Ö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.

Tür:String
Position:4
varsayılan değer:None
Gerekli:False
Accept pipeline input:True
Accept wildcard characters:False

-DefaultProfile

Azure ile iletişim için kullanılan kimlik bilgileri, hesap, kiracı ve abonelik.

Tür:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
varsayılan değer:None
Gerekli:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableHotpatching

Müşterilerin yeniden başlatma gerektirmeden Azure Vmss'lerine düzeltme eki uygulamalarına olanak tanır. enableHotpatching için 'provisionVMAgent' true ve 'patchMode' değeri 'AutomaticByPlatform' olarak ayarlanmalıdır.

Tür:SwitchParameter
Position:Named
varsayılan değer:None
Gerekli:False
Accept pipeline input:True
Accept wildcard characters:False

-LinuxConfigurationDisablePasswordAuthentication

Bu cmdlet'in parola kimlik doğrulamasını devre dışı bırakdığını gösterir.

Tür:Nullable<T>[Boolean]
Position:10
varsayılan değer:None
Gerekli:False
Accept pipeline input:True
Accept wildcard characters:False

-LinuxConfigurationPatchMode

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

Tür:String
Position:Named
varsayılan değer:None
Gerekli:False
Accept pipeline input:True
Accept wildcard characters:False

-LinuxConfigurationProvisionVMAgent

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

Tür:Nullable<T>[Boolean]
Position:Named
varsayılan değer:None
Gerekli:False
Accept pipeline input:True
Accept wildcard characters:False

-Listener

Windows Uzaktan Yönetimi (WinRM) dinleyicilerini belirtir. Bu, uzak Windows PowerShell'i etkinleştirir. Dinleyiciyi oluşturmak için Add-AzVmssWinRMListener cmdlet'ini kullanabilirsiniz.

Tür:WinRMListener[]
Position:9
varsayılan değer:None
Gerekli:False
Accept pipeline input:True
Accept wildcard characters:False

-PublicKey

Secure Shell (SSH) ortak anahtar nesnesini belirtir. Nesneyi oluşturmak için Add-AzVMSshPublicKey cmdlet'ini kullanabilirsiniz.

Tür:SshPublicKey[]
Position:11
varsayılan değer:None
Gerekli:False
Accept pipeline input:True
Accept wildcard characters:False

-Secret

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.

Tür:VaultSecretGroup[]
Position:12
varsayılan değer:None
Gerekli:False
Accept pipeline input:True
Accept wildcard characters:False

-TimeZone

Sanal makinenin saat dilimini belirtir. Örneğin, "Pasifik Standart Saati".
Olası değerler TimeZoneInfo.GetSystemTimeZones tarafından döndürülen saat dilimlerinden TimeZoneInfo.Id değer olabilir.

Tür:String
Position:7
varsayılan değer:None
Gerekli:False
Accept pipeline input:True
Accept wildcard characters:False

-VirtualMachineScaleSet

VMSS nesnesini belirtir. Nesneyi oluşturmak için New-AzVmssConfig cmdlet'ini kullanabilirsiniz.

Tür:PSVirtualMachineScaleSet
Position:0
varsayılan değer:None
Gerekli:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Cmdlet çalıştırılıyorsa ne olacağını gösterir. Cmdlet çalıştırılmaz.

Tür:SwitchParameter
Aliases:wi
Position:Named
varsayılan değer:None
Gerekli:False
Accept pipeline input:False
Accept wildcard characters:False

-WindowsConfigurationEnableAutomaticUpdate

VMSS'deki sanal makinelerin otomatik güncelleştirmeler için etkinleştirilip etkinleştirilmediğini gösterir.

Tür:Nullable<T>[Boolean]
Position:6
varsayılan değer:None
Gerekli:False
Accept pipeline input:True
Accept wildcard characters:False

-WindowsConfigurationPatchMode

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.enableAutomatic Güncelleştirmeler özelliği false olmalıdır

AutomaticByOS - Sanal makine işletim sistemi tarafından otomatik olarak güncelleştirilir. WindowsConfiguration.enableAutomatic Güncelleştirmeler özelliği true olmalıdır.

AutomaticByPlatform - Sanal makine platform tarafından otomatik olarak güncelleştirilir. provisionVMAgent ve WindowsConfiguration.enableAutomatic Güncelleştirmeler özellikleri doğru olmalıdır

Tür:String
Position:Named
varsayılan değer:None
Gerekli:False
Accept pipeline input:True
Accept wildcard characters:False

-WindowsConfigurationProvisionVMAgent

Sanal makine aracısının VMSS'deki sanal makinelerde sağlanıp sağlanmayacağını gösterir.

Tür:Nullable<T>[Boolean]
Position:5
varsayılan değer:None
Gerekli:False
Accept pipeline input:True
Accept wildcard characters:False

Girişler

PSVirtualMachineScaleSet

String

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

AdditionalUnattendContent[]

WinRMListener[]

SshPublicKey[]

VaultSecretGroup[]

Çıkışlar

PSVirtualMachineScaleSet