Set-AzVmssOsProfile
Hiermee stelt u de eigenschappen van het VMSS-besturingssysteemprofiel in.
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 besturingssysteem 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 worden eigenschappen van het besturingssysteemprofiel ingesteld voor het $vmss-object. Met de opdracht stelt u het voorvoegsel van de computernaam in 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 de flexibele modus met Hotpatching 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;
Stel de eigenschappen van het besturingssysteemprofiel in voor een vmss in de flexibele modus met Hotpatching ingeschakeld
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 |
standaardwaarde: | None |
Vereist: | False |
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 |
standaardwaarde: | None |
Vereist: | False |
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:
Windows: Kan geen speciale tekens /"[]:|<>+=;,?*@& of eindig op "."
Linux: De gebruikersnaam mag alleen letters, cijfers, afbreekstreepjes en onderstrepingstekens bevatten en mag niet beginnen met een afbreekstreepje of cijfer.
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: 1 teken
Maximale lengte: 20 tekens voor Windows, 64 tekens voor Linux
Zie Gebruikersnamen voor Linux selecteren voor Linux voor een lijst met ingebouwde systeemgebruikers die niet in dit veld mogen worden gebruikt.
Type: | String |
Position: | 2 |
standaardwaarde: | None |
Vereist: | False |
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 |
standaardwaarde: | None |
Vereist: | False |
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 |
standaardwaarde: | None |
Vereist: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CustomData
Hiermee geeft u een met base 64 gecodeerde tekenreeks van 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 een Virtuele Linux-machine aan te passen tijdens het maken.
Type: | String |
Position: | 4 |
standaardwaarde: | None |
Vereist: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DefaultProfile
De referenties, het account, de tenant en het abonnement die worden gebruikt voor communicatie met Azure.
Type: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
standaardwaarde: | None |
Vereist: | False |
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' worden ingesteld op true en moet patchMode worden ingesteld op 'AutomaticByPlatform'.
Type: | SwitchParameter |
Position: | Named |
standaardwaarde: | None |
Vereist: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LinuxConfigurationDisablePasswordAuthentication
Geeft aan dat met deze cmdlet wachtwoordverificatie wordt uitgeschakeld.
Type: | Nullable<T>[Boolean] |
Position: | 10 |
standaardwaarde: | None |
Vereist: | False |
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 |
standaardwaarde: | None |
Vereist: | False |
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 hoofdtekst van de aanvraag, is het standaardgedrag ingesteld op waar. Dit zorgt ervoor dat de VM-agent op de VIRTUELE machine is geïnstalleerd, zodat extensies later aan de VIRTUELE machine kunnen worden toegevoegd
Type: | Nullable<T>[Boolean] |
Position: | Named |
standaardwaarde: | None |
Vereist: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Listener
Hiermee geeft u de WinRM-listeners (Windows Remote Management) op. Hiermee schakelt u externe Windows PowerShell in. U kunt de cmdlet Add-AzVmssWinRMListener gebruiken om de listener te maken.
Type: | WinRMListener[] |
Position: | 9 |
standaardwaarde: | None |
Vereist: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PublicKey
Hiermee geeft u het openbare-sleutelobject (Secure Shell) (SSH) op. U kunt de cmdlet Add-AzVMSshPublicKey gebruiken om het object te maken.
Type: | SshPublicKey[] |
Position: | 11 |
standaardwaarde: | None |
Vereist: | False |
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 |
standaardwaarde: | None |
Vereist: | False |
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 |
standaardwaarde: | None |
Vereist: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VirtualMachineScaleSet
Hiermee geeft u het VMSS-object. U kunt de cmdlet New-AzVmssConfig gebruiken om het object te maken.
Type: | PSVirtualMachineScaleSet |
Position: | 0 |
standaardwaarde: | None |
Vereist: | True |
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 |
standaardwaarde: | None |
Vereist: | False |
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 |
standaardwaarde: | None |
Vereist: | False |
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 |
standaardwaarde: | None |
Vereist: | False |
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 |
standaardwaarde: | None |
Vereist: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Invoerwaarden
Nullable<T>[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]
Uitvoerwaarden
Verwante koppelingen
Azure PowerShell
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor