Set-AzVmssOsProfile
Задает свойства профиля операционной системы VMSS.
Синтаксис
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>]
Описание
Командлет Set-AzVmssOsProfile задает свойства профиля профиля операционной системы масштабируемого набора виртуальных машин.
Примеры
Пример 1. Задание свойств профиля операционной системы для 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
Эта команда задает свойства профиля операционной системы для объекта $vmss. Команда задает префикс имени компьютера для всех экземпляров виртуальных машин в VMSS для тестирования и предоставляет имя администратора и пароль.
Пример 2. Задайте свойства профиля операционной системы для виртуальных машин в гибком режиме с включенной функцией hotpatching.
# 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;
Задание свойств профиля операционной системы для виртуальных машин в гибком режиме с включенным hotpatching
Параметры
-AdditionalUnattendContent
Указывает объект автоматического содержимого. Для создания объекта можно использовать Add-AzVMAdditionalUnattendContent.
Тип: | AdditionalUnattendContent[] |
Position: | 8 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-AdminPassword
Указывает пароль администратора, используемый для всех экземпляров виртуальных машин в VMSS.
Тип: | String |
Position: | 3 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-AdminUsername
Указывает имя учетной записи администратора, используемой для всех экземпляров виртуальных машин в VMSS.
Ограничение:
Windows: не удается содержать специальные символы /"[]:|<>+=;,?*@& или конец "."
Linux: имя пользователя должно содержать только буквы, цифры, дефисы и знаки подчеркивания, а также не начинаться с дефиса или номера.
Запрещенные значения: "admin", "admin", "user1", "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".
Минимальная длина: 1 символ
Максимальная длина: 20 символов для Windows, 64 символов для Linux
Список встроенных системных пользователей в Linux, которые не должны использоваться в этом поле, см. в разделе "Выбор имен пользователей для Linux в Azure".
Тип: | String |
Position: | 2 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-ComputerNamePrefix
Задает префикс имени компьютера для всех экземпляров виртуальных машин в VMSS. Имена компьютеров должны содержать от 1 до 15 символов.
Тип: | String |
Position: | 1 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Confirm
Запрос подтверждения перед выполнением командлета.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-CustomData
Задает строку в кодировке base-64 пользовательских данных.
Это декодируется в двоичный массив, сохраненный в виде файла на виртуальной машине.
Максимальная длина двоичного массива составляет 65535 байтов.
Сведения об использовании cloud-init для виртуальной машины см. в статье Об использовании cloud-init для настройки виртуальной машины Linux во время создания.
Тип: | String |
Position: | 4 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-DefaultProfile
Учетные данные, учетная запись, клиент и подписка, используемые для обмена данными с Azure.
Тип: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-EnableHotpatching
Позволяет клиентам исправлять свои виртуальные машины Azure, не требуя перезагрузки. Для включенияHotpatching для параметра provisionVMAgent должно быть задано значение true, а для patchMode должно быть задано значение AutomaticByPlatform.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-LinuxConfigurationDisablePasswordAuthentication
Указывает, что этот командлет отключает проверку подлинности паролей.
Тип: | Nullable<T>[Boolean] |
Position: | 10 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-LinuxConfigurationPatchMode
Указывает режим гостевой исправления виртуальной машины на виртуальную машину IaaS или виртуальные машины, связанные с масштабируемым набором виртуальных машин с OrchestrationMode как гибкий.
Возможны следующие значения:
ImageDefault — используется конфигурация исправления по умолчанию виртуальной машины.
AutomaticByPlatform — виртуальная машина автоматически обновляется платформой. Свойство provisionVMAgent должно иметь значение true
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-LinuxConfigurationProvisionVMAgent
Указывает, следует ли подготовить агент виртуальной машины на виртуальной машине.
Если это свойство не указано в тексте запроса, поведение по умолчанию — задать для него значение true. Это обеспечит установку агента виртуальной машины на виртуальной машине, чтобы расширения можно было добавить на виртуальную машину позже.
Тип: | Nullable<T>[Boolean] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Listener
Задает прослушиватели удаленного управления Windows (WinRM). Это позволяет удаленно использовать Windows PowerShell. Для создания прослушивателя можно использовать командлет Add-AzVmssWinRMListener.
Тип: | WinRMListener[] |
Position: | 9 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-PublicKey
Указывает объект открытого ключа Secure Shell (SSH). Для создания объекта можно использовать командлет Add-AzVMSshPublicKey.
Тип: | SshPublicKey[] |
Position: | 11 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Secret
Указывает объект секретов, содержащий ссылки на сертификаты, которые будут размещаться на виртуальной машине. Для создания объекта секретов можно использовать командлет Add-AzVmssSecret.
Тип: | VaultSecretGroup[] |
Position: | 12 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-TimeZone
Указывает часовой пояс виртуальной машины. Например, "Тихоокеанское стандартное время".
Возможные значения можно TimeZoneInfo.Id из часовых поясов, возвращаемых TimeZoneInfo.GetSystemTimeZones.
Тип: | String |
Position: | 7 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-VirtualMachineScaleSet
Указывает объект VMSS. Для создания объекта можно использовать командлет New-AzVmssConfig.
Тип: | PSVirtualMachineScaleSet |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WindowsConfigurationEnableAutomaticUpdate
Указывает, включены ли виртуальные машины в VMSS для автоматического обновления.
Тип: | Nullable<T>[Boolean] |
Position: | 6 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-WindowsConfigurationPatchMode
Указывает режим гостевой исправления виртуальной машины на виртуальную машину IaaS или виртуальные машины, связанные с масштабируемым набором виртуальных машин с OrchestrationMode как гибкий.
Возможны следующие значения:
Вручную . Вы управляете применением исправлений к виртуальной машине. Это можно сделать, применяя исправления вручную внутри виртуальной машины. В этом режиме автоматические обновления отключены; Свойство WindowsConfiguration.enableAutomaticUpdates должно быть false
AutomaticByOS — виртуальная машина автоматически обновляется ОС. Свойство WindowsConfiguration.enableAutomaticUpdates должно иметь значение true.
AutomaticByPlatform — виртуальная машина автоматически обновляется платформой. Свойства provisionVMAgent и WindowsConfiguration.enableAutomaticUpdates должны иметь значение true.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-WindowsConfigurationProvisionVMAgent
Указывает, следует ли подготовить агент виртуальной машины на виртуальных машинах в VMSS.
Тип: | Nullable<T>[Boolean] |
Position: | 5 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
Входные данные
Nullable<T>[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]