Set-AzVmssOsProfile
Hiermee stelt u de eigenschappen van het VMSS-besturingssysteemprofiel in.
Syntaxis
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 = 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;
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 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | 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 |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | 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 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | 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 |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Confirm
Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.
Type: | SwitchParameter |
Aliassen: | cf |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | 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 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-DefaultProfile
De referenties, het account, de tenant en het abonnement die worden gebruikt voor communicatie met Azure.
Type: | IAzureContextContainer |
Aliassen: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | 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 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-LinuxConfigurationDisablePasswordAuthentication
Geeft aan dat met deze cmdlet wachtwoordverificatie wordt uitgeschakeld.
Type: | Nullable<T>[Boolean] |
Position: | 10 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | 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 |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | 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 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | 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 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | 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 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | 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 |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | 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 |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-VirtualMachineScaleSet
Hiermee geeft u het VMSS-object. U kunt de cmdlet New-AzVmssConfig gebruiken om het object te maken.
Type: | PSVirtualMachineScaleSet |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-WhatIf
Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.
Type: | SwitchParameter |
Aliassen: | wi |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | 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 |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | 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 |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | 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 |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
Invoerwaarden
Nullable<T>[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]
Uitvoerwaarden
Verwante koppelingen
Azure PowerShell