Поделиться через


Set-AzVMOperatingSystem

Задает свойства операционной системы во время создания новой виртуальной машины или обновления виртуальной машины.

Синтаксис

Windows (по умолчанию)

Set-AzVMOperatingSystem
    [-VM] <PSVirtualMachine>
    [[-ComputerName] <String>]
    [[-Credential] <PSCredential>]
    [[-CustomData] <String>]
    [[-TimeZone] <String>]
    [-Windows]
    [-ProvisionVMAgent]
    [-EnableAutoUpdate]
    [-WinRMHttp]
    [-PatchMode <String>]
    [-EnableHotpatching]
    [-AssessmentMode <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [<CommonParameters>]

WindowsWinRmHttps

Set-AzVMOperatingSystem
    [-VM] <PSVirtualMachine>
    [[-ComputerName] <String>]
    [[-Credential] <PSCredential>]
    [[-CustomData] <String>]
    [[-TimeZone] <String>]
    [-WinRMCertificateUrl] <Uri>
    [-Windows]
    [-ProvisionVMAgent]
    [-EnableAutoUpdate]
    [-WinRMHttp]
    [-WinRMHttps]
    [-PatchMode <String>]
    [-EnableHotpatching]
    [-AssessmentMode <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [<CommonParameters>]

WindowsDisableVMAgent

Set-AzVMOperatingSystem
    [-VM] <PSVirtualMachine>
    [[-ComputerName] <String>]
    [[-Credential] <PSCredential>]
    [[-CustomData] <String>]
    [[-TimeZone] <String>]
    [-Windows]
    [-DisableVMAgent]
    [-EnableAutoUpdate]
    [-WinRMHttp]
    [-PatchMode <String>]
    [-EnableHotpatching]
    [-AssessmentMode <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [<CommonParameters>]

WindowsDisableVMAgentWinRmHttps

Set-AzVMOperatingSystem
    [-VM] <PSVirtualMachine>
    [[-ComputerName] <String>]
    [[-Credential] <PSCredential>]
    [[-CustomData] <String>]
    [[-TimeZone] <String>]
    [-WinRMCertificateUrl] <Uri>
    [-Windows]
    [-DisableVMAgent]
    [-EnableAutoUpdate]
    [-WinRMHttp]
    [-WinRMHttps]
    [-PatchMode <String>]
    [-EnableHotpatching]
    [-AssessmentMode <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [<CommonParameters>]

Linux

Set-AzVMOperatingSystem
    [-VM] <PSVirtualMachine>
    [[-ComputerName] <String>]
    [[-Credential] <PSCredential>]
    [[-CustomData] <String>]
    [-Linux]
    [-PatchMode <String>]
    [-DisablePasswordAuthentication]
    [-AssessmentMode <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [<CommonParameters>]

Описание

Командлет Set-AzVMOperatingSystem задает свойства операционной системы во время создания новой виртуальной машины. Вы можете указать учетные данные входа, имя компьютера и тип операционной системы.

Примеры

Пример 1. Задание свойств операционной системы для новой виртуальной машины

$SecurePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force
$Credential = New-Object System.Management.Automation.PSCredential ("FullerP", $SecurePassword);
$AvailabilitySet = Get-AzAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03"
$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id
$ComputerName = "ContosoVM122"
$WinRMCertUrl = "http://keyVaultName.vault.azure.net/secrets/secretName/secretVersion"
$TimeZone = "Pacific Standard Time"
$CustomData = "echo 'Hello World'"
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -CustomData $CustomData -WinRMHttp -WinRMHttps -WinRMCertificateUrl $WinRMCertUrl -ProvisionVMAgent -EnableAutoUpdate -TimeZone $TimeZone -PatchMode "AutomaticByPlatform"

Первая команда преобразует пароль в безопасную строку, а затем сохраняет ее в переменной $SecurePassword. Для получения дополнительной информации введите Get-Help ConvertTo-SecureString. Вторая команда создает учетные данные для пользователя FullerP и пароля, хранящегося в $SecurePassword, а затем сохраняет учетные данные в переменной $Credential. Для получения дополнительной информации введите Get-Help New-Object. Третья команда получает группу доступности с именем AvailabilitySet03 в группе ресурсов с именем ResourceGroup11, а затем сохраняет этот объект в переменной $AvailabilitySet. Четвертая команда создает объект виртуальной машины, а затем сохраняет его в переменной $VirtualMachine. Команда присваивает имя и размер виртуальной машине. Виртуальная машина принадлежит группе доступности, хранящейся в $AvailabilitySet. Следующие четыре команды назначают значения переменным для использования в следующей команде. Так как эти строки можно указать непосредственно в команде Set-AzVMOperatingSystem , этот подход используется только для удобства чтения. Однако вы можете использовать такой подход, как это в сценариях. Последняя команда задает свойства операционной системы для виртуальной машины, хранящейся в $VirtualMachine. Команда использует учетные данные, хранящиеся в $Credential. Команда использует переменные, назначенные в предыдущих командах для некоторых параметров.

Пример 2. Задание свойств операционной системы для новой виртуальной машины с включенной горячей исправлением

$SecurePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force
$Credential = New-Object System.Management.Automation.PSCredential ("FullerP", $SecurePassword);
$AvailabilitySet = Get-AzAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03"
$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id
$ComputerName = "ContosoVM122"
$WinRMCertUrl = "http://keyVaultName.vault.azure.net/secrets/secretName/secretVersion"
$TimeZone = "Pacific Standard Time"
$CustomData = "echo 'Hello World'"
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -CustomData $CustomData -WinRMHttp -WinRMHttps -WinRMCertificateUrl $WinRMCertUrl -ProvisionVMAgent -EnableAutoUpdate -TimeZone $TimeZone -PatchMode "AutomaticByPlatform" -EnableHotPatching

Первая команда преобразует пароль в безопасную строку, а затем сохраняет ее в переменной $SecurePassword. Для получения дополнительной информации введите Get-Help ConvertTo-SecureString. Вторая команда создает учетные данные для пользователя FullerP и пароля, хранящегося в $SecurePassword, а затем сохраняет учетные данные в переменной $Credential. Для получения дополнительной информации введите Get-Help New-Object. Третья команда получает группу доступности с именем AvailabilitySet03 в группе ресурсов с именем ResourceGroup11, а затем сохраняет этот объект в переменной $AvailabilitySet. Четвертая команда создает объект виртуальной машины, а затем сохраняет его в переменной $VirtualMachine. Команда присваивает имя и размер виртуальной машине. Виртуальная машина принадлежит группе доступности, хранящейся в $AvailabilitySet. Следующие четыре команды назначают значения переменным для использования в следующей команде. Так как эти строки можно указать непосредственно в команде Set-AzVMOperatingSystem , этот подход используется только для удобства чтения. Однако вы можете использовать такой подход, как это в сценариях. Последняя команда задает свойства операционной системы для виртуальной машины, хранящейся в $VirtualMachine. Команда использует учетные данные, хранящиеся в $Credential. Команда использует переменные, назначенные в предыдущих командах для некоторых параметров. Эта команда включает hotpatching на виртуальной машине.

Пример 3. Задание свойств операционной системы для новой виртуальной машины Linux

$SecurePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force
$Credential = New-Object System.Management.Automation.PSCredential ("FullerP", $SecurePassword);
$AvailabilitySet = Get-AzAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03"
$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id
$ComputerName = "ContosoVM122"
$CustomData = "echo 'Hello World'"
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Linux -ComputerName $ComputerName -Credential $Credential -CustomData $CustomData -PatchMode "AutomaticByPlatform"

Первая команда преобразует пароль в безопасную строку, а затем сохраняет ее в переменной $SecurePassword. Для получения дополнительной информации введите Get-Help ConvertTo-SecureString. Вторая команда создает учетные данные для пользователя FullerP и пароля, хранящегося в $SecurePassword, а затем сохраняет учетные данные в переменной $Credential. Для получения дополнительной информации введите Get-Help New-Object. Третья команда получает группу доступности с именем AvailabilitySet03 в группе ресурсов с именем ResourceGroup11, а затем сохраняет этот объект в переменной $AvailabilitySet. Четвертая команда создает объект виртуальной машины, а затем сохраняет его в переменной $VirtualMachine. Команда присваивает имя и размер виртуальной машине. Виртуальная машина принадлежит группе доступности, хранящейся в $AvailabilitySet. Следующие две команды назначают значения переменным для использования в следующей команде. Последняя команда задает свойства операционной системы для виртуальной машины, хранящейся в $VirtualMachine. Команда использует учетные данные, хранящиеся в $Credential. Команда использует переменные, назначенные в предыдущих командах для некоторых параметров. Команда задает значение режима исправления на виртуальной машине значение AutomaticByPlatform.

Пример 4. Задайте свойства операционной системы с параметром Credential, если виртуальная машина не имеет OSProfile.

$rgname = <Resource Group Name>;
$loc = <Azure Region>;
New-AzResourceGroup -Name $rgname -Location $loc -Force;
# create credential
$password = <Password>;
$securePassword = $password | ConvertTo-SecureString -AsPlainText -Force;
$user = <Username>;
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);

# Setup parameters
$domainNameLabel = "d2" + $rgname;
$vmsize = 'Standard_D4s_v3';
$vmname = 'v' + $rgname;
$vnetname = "vn" + $rgname;
$vnetAddress = "10.0.0.0/16";
$subnetname = "slb" + $rgname;
$subnetAddress = "10.0.2.0/24";
$OSDiskName = $vmname + "d";
$NICName = $vmname+ "n";
$NSGName = $vmname + "nsg";

# Creating a VM using Default parameterset
$frontendSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetname -AddressPrefix $subnetAddress;

$vnet = New-AzVirtualNetwork -Name $vnetname -ResourceGroupName $rgname -Location $loc -AddressPrefix $vnetAddress -Subnet $frontendSubnet;

$nsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name RDP  -Protocol Tcp  -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 3389 -Access Allow;
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $rgname -Location $loc -Name $NSGName  -SecurityRules $nsgRuleRDP;
$nic = New-AzNetworkInterface -Name $NICName -ResourceGroupName $rgname -Location $loc -SubnetId $vnet.Subnets[0].Id -NetworkSecurityGroupId $nsg.Id -EnableAcceleratedNetworking;

$vmConfig = New-AzVMConfig -VMName $vmname -VMSize $vmsize;
$vmConfig = Set-AzVMOperatingSystem -VM $vmConfig -Windows -ComputerName $vmname -Credential $cred;
$vmConfig = Add-AzVMNetworkInterface -VM $vmConfig -Id $nic.Id;

# Verify a VM is created.
New-AzVM -ResourceGroupName $rgname -Location $loc -VM $vmConfig;
$vm = Get-AzVM -ResourceGroupName $rgname -Name $vmname;

Параметры

-AssessmentMode

Значение режима автоматической оценки для виртуальной машины. Возможные значения: ImageDefault и AutomaticByPlatform.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-ComputerName

Указывает имя компьютера.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:2
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Credential

Указывает имя пользователя и пароль для виртуальной машины в качестве объекта PSCredential. Чтобы получить учетные данные, используйте командлет Get-Credential. Для получения дополнительной информации введите Get-Help Get-Credential.

Свойства параметра

Тип:PSCredential
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:3
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-CustomData

Указывает строку, передаваемую виртуальной машине. Дополнительные сведения см. в разделе "Пользовательские данные" на виртуальных машинах Azure. Примечание. Не рекомендуется хранить конфиденциальную информацию в пользовательских данных.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:4
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-DefaultProfile

Учетные данные, учетная запись, клиент и подписка, используемые для обмена данными с Azure.

Свойства параметра

Тип:IAzureContextContainer
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:AzContext, AzureRmContext, AzureCredential

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-DisablePasswordAuthentication

Указывает, что этот командлет отключает проверку подлинности паролей.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

Linux
Position:5
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-DisableVMAgent

Отключите агент виртуальной машины подготовки.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

WindowsDisableVMAgent
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
WindowsDisableVMAgentWinRmHttps
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-EnableAutoUpdate

Указывает, что этот командлет включает автоматическое обновление.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

Windows
Position:6
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
WindowsWinRmHttps
Position:6
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
WindowsDisableVMAgent
Position:6
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
WindowsDisableVMAgentWinRmHttps
Position:6
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-EnableHotpatching

Позволяет клиентам исправлять виртуальные машины Azure без перезагрузки. Для включенияHotpatching для параметра provisionVMAgent должно быть задано значение true, а для patchMode должно быть задано значение AutomaticByPlatform.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

Windows
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
WindowsWinRmHttps
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
WindowsDisableVMAgent
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
WindowsDisableVMAgentWinRmHttps
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Linux

Указывает, что тип операционной системы — Linux.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

Linux
Position:1
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-PatchMode

Задает режим гостевой исправления для виртуальной машины IaaS.

Возможны следующие значения:
AutomaticByPlatform — установка исправлений для виртуальной машины будет управляться Azure. Используйте с -Windows или -Linux. Требуется -ProvisionVMAgent. Требуется -EnableAutoUpdate при использовании с -Windows.
AutomaticByOS — установка исправлений для виртуальной машины будет управляться ОС. Используйте с -Windows. Требуется -ProvisionVMAgent и -EnableAutoUpdate.
вручную . Вы управляете применением исправлений к виртуальной машине. Используйте с -Windows. Требуется -ProvisionVMAgent.
ImageDefault — установка исправлений, управляемая параметрами по умолчанию на образе ОС. Используйте с -Linux.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-ProvisionVMAgent

Указывает, что параметры требуют установки агента виртуальной машины на виртуальной машине.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

Windows
Position:5
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
WindowsWinRmHttps
Position:5
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-TimeZone

Указывает часовой пояс виртуальной машины. Например, "Тихоокеанское стандартное время".
Возможные значения можно TimeZoneInfo.Id из часовых поясов, возвращаемых TimeZoneInfo.GetSystemTimeZones.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

Windows
Position:7
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
WindowsWinRmHttps
Position:7
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
WindowsDisableVMAgent
Position:7
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
WindowsDisableVMAgentWinRmHttps
Position:7
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-VM

Указывает объект локальной виртуальной машины, для которого необходимо задать свойства операционной системы. Чтобы получить объект виртуальной машины, используйте командлет Get-AzVM. Создайте объект виртуальной машины с помощью командлета New-AzVMConfig.

Свойства параметра

Тип:PSVirtualMachine
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:VMProfile

Наборы параметров

(All)
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Windows

Указывает, что тип операционной системы — Windows.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

Windows
Position:1
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
WindowsWinRmHttps
Position:1
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
WindowsDisableVMAgent
Position:1
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
WindowsDisableVMAgentWinRmHttps
Position:1
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-WinRMCertificateUrl

Задает универсальный код ресурса (URI) сертификата WinRM. Это необходимо хранить в Key Vault.

Свойства параметра

Тип:Uri
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

WindowsWinRmHttps
Position:10
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
WindowsDisableVMAgentWinRmHttps
Position:10
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-WinRMHttp

Указывает, что эта операционная система использует HTTP WinRM.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

Windows
Position:8
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
WindowsWinRmHttps
Position:8
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
WindowsDisableVMAgent
Position:8
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
WindowsDisableVMAgentWinRmHttps
Position:8
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-WinRMHttps

Указывает, что эта операционная система использует HTTPS WinRM.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

WindowsWinRmHttps
Position:9
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
WindowsDisableVMAgentWinRmHttps
Position:9
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

Входные данные

PSVirtualMachine

SwitchParameter

String

PSCredential

Uri

Выходные данные

PSVirtualMachine