Set-AzVmssOsProfile
Imposta le proprietà del profilo del sistema operativo VMSS.
Sintassi
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>]
Descrizione
Il cmdlet Set-AzVmssOsOsProfile imposta le proprietà del profilo del sistema operativo del set di scalabilità di macchine virtuali.
Esempio
Esempio 1: Impostare le proprietà del profilo del sistema operativo per un set di scalabilità di macchine virtuali
$vmss = New-AzVmssConfig -Location $Loc -SkuCapacity 2 -SkuName "Standard_A0" -UpgradePolicyMode "Automatic" -NetworkInterfaceConfiguration $NetCfg
Set-AzVmssOsProfile -VirtualMachineScaleSet $vmss -ComputerNamePrefix "Test" -AdminUsername $AdminUsername -AdminPassword $AdminPassword
Questo comando imposta le proprietà del profilo del sistema operativo per l'oggetto $vmss. Il comando imposta il prefisso del nome computer per tutte le istanze della macchina virtuale nel set di scalabilità di macchine virtuali su Test e fornisce il nome utente e la password dell'amministratore.
Esempio 2: Impostare le proprietà del profilo del sistema operativo per un vmss in modalità flessibile con Hotpatching abilitato.
# 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;
Impostare le proprietà del profilo del sistema operativo per una macchina virtuale in modalità flessibile con Hotpatching abilitato
Parametri
-AdditionalUnattendContent
Specifica un oggetto contenuto automatico. È possibile utilizzare il Add-AzVMAdditionalUnattendContent per creare l'oggetto .
Tipo: | AdditionalUnattendContent[] |
Posizione: | 8 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-AdminPassword
Specifica la password dell'amministratore da usare per tutte le istanze della macchina virtuale nel set di scalabilità di macchine virtuali.
Tipo: | String |
Posizione: | 3 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-AdminUsername
Specifica il nome dell'account amministratore da usare per tutte le istanze della macchina virtuale nel set di scalabilità di macchine virtuali.
restrizione :
Windows: Impossibile contenere caratteri speciali /""[]:|<>+=;,?*@& o terminare con "."
Linux: il nome utente deve contenere solo lettere, numeri, trattini e caratteri di sottolineatura e non iniziare con un trattino o un numero.
Valori non consentiti: "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".
Lunghezza minima: 1 carattere
Lunghezza massima: 20 caratteri per Windows, 64 caratteri per Linux
Per un elenco di utenti di sistema predefiniti in Linux che non devono essere usati in questo campo, vedere Selezione di nomi utente per Linux in Azure.
Tipo: | String |
Posizione: | 2 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-ComputerNamePrefix
Specifica il prefisso del nome computer per tutte le istanze della macchina virtuale nel set di scalabilità di macchine virtuali. I nomi dei computer devono essere lunghi da 1 a 15 caratteri.
Tipo: | String |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-CustomData
Specifica una stringa con codifica base 64 di dati personalizzati.
Questa operazione viene decodificata in una matrice binaria salvata come file nella macchina virtuale.
La lunghezza massima della matrice binaria è di 65535 byte.
Per l'uso di cloud-init per la macchina virtuale, vedere Uso di cloud-init per personalizzare una macchina virtuale Linux durante la creazione.
Tipo: | String |
Posizione: | 4 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-DefaultProfile
Credenziali, account, tenant e sottoscrizione usati per la comunicazione con Azure.
Tipo: | IAzureContextContainer |
Alias: | AzContext, AzureRmContext, AzureCredential |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-EnableHotpatching
Consente ai clienti di applicare patch alle macchine virtuali di Azure senza richiedere un riavvio. Per enableHotpatching, 'provisionVMAgent' deve essere impostato su true e 'patchMode' deve essere impostato su 'AutomaticByPlatform'.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-LinuxConfigurationDisablePasswordAuthentication
Indica che questo cmdlet disabilita l'autenticazione della password.
Tipo: | Nullable<T>[Boolean] |
Posizione: | 10 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-LinuxConfigurationPatchMode
Specifica la modalità di applicazione di patch guest alle macchine virtuali IaaS o alle macchine virtuali associate al set di scalabilità di macchine virtuali con OrchestrationMode come flessibile.
I valori possibili sono:
ImageDefault: viene usata la configurazione di applicazione di patch predefinita della macchina virtuale.
AutomaticByPlatform: la macchina virtuale verrà aggiornata automaticamente dalla piattaforma. La proprietà provisionVMAgent deve essere true
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-LinuxConfigurationProvisionVMAgent
Indica se è necessario eseguire il provisioning dell'agente di macchine virtuali nella macchina virtuale.
Quando questa proprietà non viene specificata nel corpo della richiesta, il comportamento predefinito consiste nell'impostarlo su true. In questo modo si garantisce che l'agente di macchine virtuali sia installato nella macchina virtuale in modo che le estensioni possano essere aggiunte alla macchina virtuale in un secondo momento
Tipo: | Nullable<T>[Boolean] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Listener
Specifica i listener di Gestione remota Windows (WinRM). In questo modo si abilita Windows PowerShell remoto. È possibile usare il cmdlet Add-AzVmssWinRMListener per creare il listener.
Tipo: | WinRMListener[] |
Posizione: | 9 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-PublicKey
Specifica l'oggetto chiave pubblica Secure Shell (SSH). È possibile usare il cmdlet Add-AzVMSshPublicKey per creare l'oggetto .
Tipo: | SshPublicKey[] |
Posizione: | 11 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Secret
Specifica l'oggetto segreti che contiene i riferimenti al certificato da inserire nella macchina virtuale. È possibile usare il cmdlet Add-AzVmssSecret per creare l'oggetto segreti.
Tipo: | VaultSecretGroup[] |
Posizione: | 12 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-TimeZone
Specifica il fuso orario della macchina virtuale. ad esempio "Ora solare pacifico".
I valori possibili possono essere TimeZoneInfo.Id valore dai fusi orari restituiti da TimeZoneInfo.GetSystemTimeZones.
Tipo: | String |
Posizione: | 7 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-VirtualMachineScaleSet
Specifica l'oggetto VMSS. È possibile usare il cmdlet New-AzVmssConfig per creare l'oggetto .
Tipo: | PSVirtualMachineScaleSet |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-WhatIf
Mostra cosa accadrebbe se il cmdlet viene eseguito. Il cmdlet non viene eseguito.
Tipo: | SwitchParameter |
Alias: | wi |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-WindowsConfigurationEnableAutomaticUpdate
Indica se le macchine virtuali nel set di scalabilità di macchine virtuali sono abilitate per gli aggiornamenti automatici.
Tipo: | Nullable<T>[Boolean] |
Posizione: | 6 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-WindowsConfigurationPatchMode
Specifica la modalità di applicazione di patch guest alle macchine virtuali IaaS o alle macchine virtuali associate al set di scalabilità di macchine virtuali con OrchestrationMode come flessibile.
I valori possibili sono:
manuale: è possibile controllare l'applicazione di patch a una macchina virtuale. A tale scopo, applicare manualmente le patch all'interno della macchina virtuale. In questa modalità gli aggiornamenti automatici sono disabilitati; La proprietà WindowsConfiguration.enableAutomaticUpdates deve essere false
AutomaticByOS: la macchina virtuale verrà aggiornata automaticamente dal sistema operativo. La proprietà WindowsConfiguration.enableAutomaticUpdates deve essere true.
AutomaticByPlatform: la macchina virtuale verrà aggiornata automaticamente dalla piattaforma. Le proprietà provisionVMAgent e WindowsConfiguration.enableAutomaticUpdates devono essere true
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-WindowsConfigurationProvisionVMAgent
Indica se è necessario eseguire il provisioning dell'agente di macchine virtuali nelle macchine virtuali nel set di scalabilità di macchine virtuali.
Tipo: | Nullable<T>[Boolean] |
Posizione: | 5 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
Input
Nullable<T>[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]