Set-AzVmssOsProfile

Hiermee stelt u de eigenschappen van het VMSS-besturingssysteemprofiel in.

Notitie

Dit is de vorige versie van onze documentatie. Raadpleeg de meest recente versie voor actuele informatie.

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

Met de cmdlet Set-AzVmssOsProfile worden de eigenschappen van het besturingssysteemprofiel van de virtuele-machineschaalset ingesteld.

Voorbeelden

Voorbeeld 1: De eigenschappen van het besturingssysteemprofiel voor een VMSS instellen

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

Met deze opdracht stelt u eigenschappen van het besturingssysteemprofiel in voor het $vmss-object. Met de opdracht wordt het voorvoegsel van de computernaam ingesteld voor alle exemplaren van de virtuele machine in de VMSS om de gebruikersnaam en het wachtwoord van de beheerder te testen en op te geven.

Voorbeeld 2: Stel de eigenschappen van het besturingssysteemprofiel in voor een Vmss in flexibele modus waarvoor Hotpatching is ingeschakeld.

# 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;

Parameters

-AdditionalUnattendContent

Hiermee geeft u een inhoudsobject zonder toezicht op. U kunt de Add-AzVMAdditionalUnattendContent gebruiken om het object te maken.

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

Hiermee geeft u het beheerderswachtwoord op dat moet worden gebruikt voor alle exemplaren van de virtuele machine in de VMSS.

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

Hiermee geeft u de beheerdersaccountnaam op die moet worden gebruikt voor alle exemplaren van de virtuele machine in de VMSS.
Beperking voor alleen Windows: Kan niet eindigen op '.'
Niet-toegestane waarden: "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".
Minimale lengte (Linux): 1 teken
Maximale lengte (Linux): 64 tekens
Maximale lengte (Windows): 20 tekens

  • Zie [Gebruikersnamen selecteren voor Linux in Azure] voor een lijst met ingebouwde systeemgebruikers in Linux die niet in dit veld mogen worden gebruikt.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

    Hiermee geeft u het voorvoegsel van de computernaam op voor alle exemplaren van de virtuele machine in de VMSS. Computernamen moeten 1 tot 15 tekens lang zijn.

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

    Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

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

    Hiermee geeft u een met base 64 gecodeerde tekenreeks met aangepaste gegevens op. Dit wordt gedecodeerd naar een binaire matrix die wordt opgeslagen als een bestand op de virtuele machine. De maximale lengte van de binaire matrix is 65535 bytes.
    Zie Cloud-init gebruiken om tijdens het maken een Virtuele Linux-machine aan te passen voor het gebruik van cloud-init.

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

    De referenties, het account, de tenant en het abonnement dat wordt gebruikt voor communicatie met Azure.

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

    Hiermee kunnen klanten hun Azure Vmss patchen zonder dat ze opnieuw hoeven op te starten. Voor enableHotpatching moet de provisionVMAgent zijn ingesteld op true en moet patchMode worden ingesteld op 'AutomaticByPlatform'.

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

    Hiermee wordt aangegeven dat met deze cmdlet wachtwoordverificatie wordt uitgeschakeld.

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

    Hiermee geeft u de modus van VM-gastpatching naar virtuele IaaS-machine of virtuele machines die zijn gekoppeld aan virtuele-machineschaalset met OrchestrationMode als flexibel.

    Mogelijke waarden zijn:

    ImageDefault : de standaardpatchingconfiguratie van de virtuele machine wordt gebruikt.

    AutomaticByPlatform : de virtuele machine wordt automatisch bijgewerkt door het platform. De eigenschap provisionVMAgent moet waar zijn

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

    Hiermee wordt aangegeven of de virtuele-machineagent moet worden ingericht op de virtuele machine.

    Wanneer deze eigenschap niet is opgegeven in de aanvraagbody, is het standaardgedrag ingesteld op true. Dit zorgt ervoor dat de VM-agent op de VM is geïnstalleerd, zodat extensies later aan de VM kunnen worden toegevoegd

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

    Hiermee geeft u de WinRM-listeners (Windows Remote Management) op. Dit maakt externe Windows PowerShell mogelijk. U kunt de cmdlet Add-AzVmssWinRMListener gebruiken om de listener te maken.

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

    Hiermee geeft u het openbare-sleutelobject (Secure Shell) (SSH) op. U kunt de Add-AzVMSshPublicKey cmdlet gebruiken om het object te maken.

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

    Hiermee geeft u het geheimenobject op dat de certificaatverwijzingen bevat die op de virtuele machine moeten worden geplaatst. U kunt de cmdlet Add-AzVmssSecret gebruiken om het geheimenobject te maken.

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

    Hiermee geeft u de tijdzone van de virtuele machine. bijvoorbeeld "Pacific Standard Time".
    Mogelijke waarden kunnen worden TimeZoneInfo.Id waarde uit tijdzones die worden geretourneerd door TimeZoneInfo.GetSystemTimeZones.

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

    Hiermee geeft u het VMSS-object op. U kunt de New-AzVmssConfig cmdlet gebruiken om het object te maken.

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

    Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

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

    Geeft aan of de virtuele machines in de VMSS zijn ingeschakeld voor automatische updates.

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

    Hiermee geeft u de modus van VM-gastpatching naar virtuele IaaS-machine of virtuele machines die zijn gekoppeld aan virtuele-machineschaalset met OrchestrationMode als flexibel.

    Mogelijke waarden zijn:

    Handmatig : u beheert de toepassing van patches op een virtuele machine. U doet dit door patches handmatig toe te passen in de VIRTUELE machine. In deze modus worden automatische updates uitgeschakeld; de eigenschap WindowsConfiguration.enableAutomaticUpdates moet onwaar zijn

    AutomaticByOS : de virtuele machine wordt automatisch bijgewerkt door het besturingssysteem. De eigenschap WindowsConfiguration.enableAutomaticUpdates moet waar zijn.

    AutomaticByPlatform : de virtuele machine wordt automatisch bijgewerkt door het platform. De eigenschappen provisionVMAgent en WindowsConfiguration.enableAutomaticUpdates moeten waar zijn

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

    Hiermee wordt aangegeven of de virtuele-machineagent moet worden ingericht op de virtuele machines in de VMSS.

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

    Invoerwaarden

    PSVirtualMachineScaleSet

    String

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

    AdditionalUnattendContent[]

    WinRMListener[]

    SshPublicKey[]

    VaultSecretGroup[]

    Uitvoerwaarden

    PSVirtualMachineScaleSet