Set-AzVmssOsProfile
Establece las propiedades del perfil del sistema operativo VMSS.
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
El cmdlet Set-AzVmssOsProfile establece las propiedades del perfil del sistema operativo del conjunto de escalado de máquinas virtuales.
Ejemplos
Ejemplo 1: Establecimiento de las propiedades del perfil del sistema operativo para un VMSS
$vmss = New-AzVmssConfig -Location $Loc -SkuCapacity 2 -SkuName "Standard_A0" -UpgradePolicyMode "Automatic" -NetworkInterfaceConfiguration $NetCfg
Set-AzVmssOsProfile -VirtualMachineScaleSet $vmss -ComputerNamePrefix "Test" -AdminUsername $AdminUsername -AdminPassword $AdminPassword
Este comando establece las propiedades del perfil del sistema operativo para el objeto $vmss. El comando establece el prefijo de nombre de equipo para todas las instancias de máquina virtual de VMSS en Probar y proporciona el nombre de usuario y la contraseña del administrador.
Ejemplo 2: Establezca las propiedades del perfil del sistema operativo para vmss en modo flexible con el almacenamiento en caliente habilitado.
# 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;
Establecimiento de las propiedades del perfil de sistema operativo para vmss en modo flexible con el almacenamiento en caliente habilitado
Parámetros
-AdditionalUnattendContent
Especifica un objeto de contenido desatendido. Puede usar Add-AzVMAdditionalUnattendContent para crear el objeto .
Type: | AdditionalUnattendContent[] |
Position: | 8 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-AdminPassword
Especifica la contraseña de administrador que se va a usar para todas las instancias de máquina virtual de VMSS.
Type: | String |
Position: | 3 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-AdminUsername
Especifica el nombre de la cuenta de administrador que se va a usar para todas las instancias de máquina virtual de VMSS.
Restricción:
Windows: No se pueden contener caracteres especiales /""[]:|<>+=;,?*@& o terminar en "."
Linux: el nombre de usuario solo debe contener letras, números, guiones y guiones bajos y puede que no empiece por un guión o un número.
Valores no permitidos: "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".
Longitud mínima: 1 carácter
Longitud máxima: 20 caracteres para Windows, 64 caracteres para Linux
Para obtener una lista de los usuarios del sistema integrados en Linux que no deben usarse en este campo, consulte Selección de nombres de usuario para Linux en Azure.
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ComputerNamePrefix
Especifica el prefijo de nombre de equipo para todas las instancias de máquina virtual de VMSS. Los nombres de equipo deben tener entre 1 y 15 caracteres.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Le solicita su confirmación antes de ejecutar el cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CustomData
Especifica una cadena codificada en base 64 de datos personalizados.
Esto se descodifica en una matriz binaria que se guarda como un archivo en la máquina virtual.
La longitud máxima de la matriz binaria es de 65535 bytes.
Para usar cloud-init para la máquina virtual, consulte Uso de cloud-init para personalizar una máquina virtual Linux durante la creación.
Type: | String |
Position: | 4 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DefaultProfile
Las credenciales, la cuenta, el inquilino y la suscripción que se usan para la comunicación con Azure.
Type: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EnableHotpatching
Permite a los clientes aplicar revisiones a sus máquinas virtuales de Azure sin necesidad de reiniciar. Para enableHotpatching, el "provisionVMAgent" debe establecerse en true y "patchMode" debe establecerse en "AutomaticByPlatform".
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LinuxConfigurationDisablePasswordAuthentication
Indica que este cmdlet deshabilita la autenticación con contraseña.
Type: | Nullable<T>[Boolean] |
Position: | 10 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LinuxConfigurationPatchMode
Especifica el modo de aplicación de revisiones de invitado de máquina virtual a máquinas virtuales iaaS o máquinas virtuales asociadas al conjunto de escalado de máquinas virtuales con OrchestrationMode como flexible.
Los valores posibles son:
ImageDefault : se usa la configuración de aplicación de revisiones predeterminada de la máquina virtual.
AutomaticByPlatform : la plataforma actualizará automáticamente la máquina virtual. La propiedad provisionVMAgent debe ser true
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LinuxConfigurationProvisionVMAgent
Indica si se debe aprovisionar el agente de máquina virtual en la máquina virtual.
Cuando esta propiedad no se especifica en el cuerpo de la solicitud, el comportamiento predeterminado es establecerla en true. Esto garantizará que el agente de máquina virtual esté instalado en la máquina virtual para que las extensiones se puedan agregar a la máquina virtual más adelante.
Type: | Nullable<T>[Boolean] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Listener
Especifica los agentes de escucha de Administración remota de Windows (WinRM). Esto habilita Windows PowerShell remoto. Puede usar el cmdlet Add-AzVmssWinRMListener para crear el agente de escucha.
Type: | WinRMListener[] |
Position: | 9 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PublicKey
Especifica el objeto de clave pública de Secure Shell (SSH). Puede usar el cmdlet Add-AzVMSshPublicKey para crear el objeto .
Type: | SshPublicKey[] |
Position: | 11 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Secret
Especifica el objeto de secretos que contiene las referencias de certificado que se van a colocar en la máquina virtual. Puede usar el cmdlet Add-AzVmssSecret para crear el objeto secrets.
Type: | VaultSecretGroup[] |
Position: | 12 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-TimeZone
Especifica la zona horaria de la máquina virtual. Por ejemplo, "Hora estándar del Pacífico".
Los valores posibles se pueden TimeZoneInfo.Id valor de las zonas horarias devueltas por TimeZoneInfo.GetSystemTimeZones.
Type: | String |
Position: | 7 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VirtualMachineScaleSet
Especifica el objeto VMSS. Puede usar el cmdlet New-AzVmssConfig para crear el objeto .
Type: | PSVirtualMachineScaleSet |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WindowsConfigurationEnableAutomaticUpdate
Indica si las máquinas virtuales de VMSS están habilitadas para las actualizaciones automáticas.
Type: | Nullable<T>[Boolean] |
Position: | 6 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WindowsConfigurationPatchMode
Especifica el modo de aplicación de revisiones de invitado de máquina virtual a máquinas virtuales iaaS o máquinas virtuales asociadas al conjunto de escalado de máquinas virtuales con OrchestrationMode como flexible.
Los valores posibles son:
Manual : controla la aplicación de revisiones en una máquina virtual. Para ello, aplique revisiones manualmente dentro de la máquina virtual. En este modo, las actualizaciones automáticas están deshabilitadas; la propiedad WindowsConfiguration.enableAutomatic Novedades debe ser false
AutomaticByOS : el sistema operativo actualizará automáticamente la máquina virtual. La propiedad WindowsConfiguration.enableAutomatic Novedades debe ser true.
AutomaticByPlatform : la máquina virtual actualizará automáticamente la plataforma. Las propiedades provisionVMAgent y WindowsConfiguration.enableAutomatic Novedades deben ser true
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WindowsConfigurationProvisionVMAgent
Indica si se debe aprovisionar el agente de máquina virtual en las máquinas virtuales de VMSS.
Type: | Nullable<T>[Boolean] |
Position: | 5 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Entradas
Nullable<T>[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]
Salidas
Vínculos relacionados
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de