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
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 |
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 |
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
| Type: | String |
| Position: | 2 |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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
Nullable<T>[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]