Set-AzVmssOsProfile
Establece las propiedades del perfil del sistema operativo VMSS.
Sintaxis
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 = 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;
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 .
Tipo: | AdditionalUnattendContent[] |
Posición: | 8 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-AdminPassword
Especifica la contraseña de administrador que se va a usar para todas las instancias de máquina virtual de VMSS.
Tipo: | String |
Posición: | 3 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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.
Tipo: | String |
Posición: | 2 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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.
Tipo: | String |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Confirm
Le solicita su confirmación antes de ejecutar el cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | String |
Posición: | 4 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-DefaultProfile
Las credenciales, la cuenta, el inquilino y la suscripción que se usan para la comunicación con Azure.
Tipo: | IAzureContextContainer |
Alias: | AzContext, AzureRmContext, AzureCredential |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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".
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-LinuxConfigurationDisablePasswordAuthentication
Indica que este cmdlet deshabilita la autenticación con contraseña.
Tipo: | Nullable<T>[Boolean] |
Posición: | 10 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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.
Tipo: | Nullable<T>[Boolean] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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.
Tipo: | WinRMListener[] |
Posición: | 9 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-PublicKey
Especifica el objeto de clave pública de Secure Shell (SSH). Puede usar el cmdlet Add-AzVMSshPublicKey para crear el objeto .
Tipo: | SshPublicKey[] |
Posición: | 11 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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.
Tipo: | VaultSecretGroup[] |
Posición: | 12 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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.
Tipo: | String |
Posición: | 7 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-VirtualMachineScaleSet
Especifica el objeto VMSS. Puede usar el cmdlet New-AzVmssConfig para crear el objeto .
Tipo: | PSVirtualMachineScaleSet |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-WhatIf
Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.
Tipo: | SwitchParameter |
Alias: | wi |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-WindowsConfigurationEnableAutomaticUpdate
Indica si las máquinas virtuales de VMSS están habilitadas para las actualizaciones automáticas.
Tipo: | Nullable<T>[Boolean] |
Posición: | 6 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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.enableAutomaticUpdates debe ser false
AutomaticByOS : el sistema operativo actualizará automáticamente la máquina virtual. La propiedad WindowsConfiguration.enableAutomaticUpdates debe ser true.
AutomaticByPlatform : la máquina virtual actualizará automáticamente la plataforma. Las propiedades provisionVMAgent y WindowsConfiguration.enableAutomaticUpdates deben ser true.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-WindowsConfigurationProvisionVMAgent
Indica si se debe aprovisionar el agente de máquina virtual en las máquinas virtuales de VMSS.
Tipo: | Nullable<T>[Boolean] |
Posición: | 5 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
Entradas
Nullable<T>[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]