Set-AzVMOperatingSystem
Establece las propiedades del sistema operativo durante la creación de una nueva máquina virtual o la actualización de una máquina virtual.
Sintaxis
Set-AzVMOperatingSystem
[-VM] <PSVirtualMachine>
[-Windows]
[[-ComputerName] <String>]
[[-Credential] <PSCredential>]
[[-CustomData] <String>]
[-ProvisionVMAgent]
[-EnableAutoUpdate]
[[-TimeZone] <String>]
[-WinRMHttp]
[-PatchMode <String>]
[-EnableHotpatching]
[-AssessmentMode <String>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzVMOperatingSystem
[-VM] <PSVirtualMachine>
[-Windows]
[[-ComputerName] <String>]
[[-Credential] <PSCredential>]
[[-CustomData] <String>]
[-ProvisionVMAgent]
[-EnableAutoUpdate]
[[-TimeZone] <String>]
[-WinRMHttp]
[-WinRMHttps]
[-WinRMCertificateUrl] <Uri>
[-PatchMode <String>]
[-EnableHotpatching]
[-AssessmentMode <String>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzVMOperatingSystem
[-VM] <PSVirtualMachine>
[-Windows]
[[-ComputerName] <String>]
[[-Credential] <PSCredential>]
[[-CustomData] <String>]
[-DisableVMAgent]
[-EnableAutoUpdate]
[[-TimeZone] <String>]
[-WinRMHttp]
[-PatchMode <String>]
[-EnableHotpatching]
[-AssessmentMode <String>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzVMOperatingSystem
[-VM] <PSVirtualMachine>
[-Windows]
[[-ComputerName] <String>]
[[-Credential] <PSCredential>]
[[-CustomData] <String>]
[-DisableVMAgent]
[-EnableAutoUpdate]
[[-TimeZone] <String>]
[-WinRMHttp]
[-WinRMHttps]
[-WinRMCertificateUrl] <Uri>
[-PatchMode <String>]
[-EnableHotpatching]
[-AssessmentMode <String>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzVMOperatingSystem
[-VM] <PSVirtualMachine>
[-Linux]
[[-ComputerName] <String>]
[[-Credential] <PSCredential>]
[[-CustomData] <String>]
[-PatchMode <String>]
[-DisablePasswordAuthentication]
[-AssessmentMode <String>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
El cmdlet Set-AzVMOperatingSystem establece las propiedades del sistema operativo durante la creación de una nueva máquina virtual. Puede especificar las credenciales de inicio de sesión, el nombre del equipo y el tipo de sistema operativo.
Ejemplos
Ejemplo 1: Establecimiento de las propiedades del sistema operativo para una nueva máquina virtual
$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"
El primer comando convierte una contraseña en una cadena segura y, a continuación, la almacena en la variable $SecurePassword.
Para obtener más información, escriba Get-Help ConvertTo-SecureString
.
El segundo comando crea una credencial para el usuario FullerP y la contraseña almacenada en $SecurePassword y, a continuación, almacena la credencial en la variable $Credential.
Para obtener más información, escriba Get-Help New-Object
.
El tercer comando obtiene el conjunto de disponibilidad denominado AvailabilitySet03 en el grupo de recursos denominado ResourceGroup11 y, a continuación, almacena ese objeto en la variable $AvailabilitySet.
El cuarto comando crea un objeto de máquina virtual y, a continuación, lo almacena en la variable $VirtualMachine.
El comando asigna un nombre y un tamaño a la máquina virtual.
La máquina virtual pertenece al conjunto de disponibilidad almacenado en $AvailabilitySet.
Los cuatro comandos siguientes asignan valores a variables que se usarán en el siguiente comando.
Dado que podría especificar estas cadenas directamente en el comando Set-AzVMOperatingSystem , este enfoque solo se usa para mejorar la legibilidad.
Sin embargo, puede usar un enfoque como este en scripts.
El comando final establece las propiedades del sistema operativo para la máquina virtual almacenada en $VirtualMachine.
El comando usa las credenciales almacenadas en $Credential.
El comando usa variables asignadas en comandos anteriores para algunos parámetros.
Ejemplo 2: Establecimiento de las propiedades del sistema operativo para una nueva máquina virtual con la aplicación de revisiones activas habilitada
$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
El primer comando convierte una contraseña en una cadena segura y, a continuación, la almacena en la variable $SecurePassword.
Para obtener más información, escriba Get-Help ConvertTo-SecureString
.
El segundo comando crea una credencial para el usuario FullerP y la contraseña almacenada en $SecurePassword y, a continuación, almacena la credencial en la variable $Credential.
Para obtener más información, escriba Get-Help New-Object
.
El tercer comando obtiene el conjunto de disponibilidad denominado AvailabilitySet03 en el grupo de recursos denominado ResourceGroup11 y, a continuación, almacena ese objeto en la variable $AvailabilitySet.
El cuarto comando crea un objeto de máquina virtual y, a continuación, lo almacena en la variable $VirtualMachine.
El comando asigna un nombre y un tamaño a la máquina virtual.
La máquina virtual pertenece al conjunto de disponibilidad almacenado en $AvailabilitySet.
Los cuatro comandos siguientes asignan valores a variables que se usarán en el siguiente comando.
Dado que podría especificar estas cadenas directamente en el comando Set-AzVMOperatingSystem , este enfoque solo se usa para mejorar la legibilidad.
Sin embargo, puede usar un enfoque como este en scripts.
El comando final establece las propiedades del sistema operativo para la máquina virtual almacenada en $VirtualMachine.
El comando usa las credenciales almacenadas en $Credential.
El comando usa variables asignadas en comandos anteriores para algunos parámetros.
El comando habilita hotpatching en la máquina virtual.
Ejemplo 3: Establecimiento de las propiedades del sistema operativo para una nueva máquina virtual 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"
El primer comando convierte una contraseña en una cadena segura y, a continuación, la almacena en la variable $SecurePassword.
Para obtener más información, escriba Get-Help ConvertTo-SecureString
.
El segundo comando crea una credencial para el usuario FullerP y la contraseña almacenada en $SecurePassword y, a continuación, almacena la credencial en la variable $Credential.
Para obtener más información, escriba Get-Help New-Object
.
El tercer comando obtiene el conjunto de disponibilidad denominado AvailabilitySet03 en el grupo de recursos denominado ResourceGroup11 y, a continuación, almacena ese objeto en la variable $AvailabilitySet.
El cuarto comando crea un objeto de máquina virtual y, a continuación, lo almacena en la variable $VirtualMachine.
El comando asigna un nombre y un tamaño a la máquina virtual.
La máquina virtual pertenece al conjunto de disponibilidad almacenado en $AvailabilitySet.
Los dos comandos siguientes asignan valores a variables que se usarán en el siguiente comando.
El comando final establece las propiedades del sistema operativo para la máquina virtual almacenada en $VirtualMachine.
El comando usa las credenciales almacenadas en $Credential.
El comando usa variables asignadas en comandos anteriores para algunos parámetros.
El comando establece el valor del modo de revisión en la máquina virtual en "AutomaticByPlatform".
Ejemplo 4: Establecer las propiedades del sistema operativo con un parámetro Credential cuando la máquina virtual no tiene un 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;
Parámetros
-AssessmentMode
Valor del modo de evaluación automática para la máquina virtual. Los valores posibles son ImageDefault y AutomaticByPlatform.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-ComputerName
Especifica el nombre del equipo.
Tipo: | String |
Posición: | 2 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Credential
Especifica el nombre de usuario y la contraseña de la máquina virtual como un objeto PSCredential .
Para obtener una credencial, use el cmdlet Get-Credential.
Para obtener más información, escriba Get-Help Get-Credential
.
Tipo: | PSCredential |
Posición: | 3 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-CustomData
Especifica una cadena que se va a pasar a la máquina virtual. Para más información, consulte Datos personalizados en máquinas virtuales de Azure. Nota: No se recomienda almacenar información confidencial en datos personalizados.
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 |
-DisablePasswordAuthentication
Indica que este cmdlet deshabilita la autenticación con contraseña.
Tipo: | SwitchParameter |
Posición: | 5 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-DisableVMAgent
Deshabilite Aprovisionamiento del agente de máquina virtual.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-EnableAutoUpdate
Indica que este cmdlet habilita la actualización automática.
Tipo: | SwitchParameter |
Posición: | 6 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
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 |
-Linux
Indica que el tipo de sistema operativo es Linux.
Tipo: | SwitchParameter |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-PatchMode
Especifica el modo de aplicación de revisiones en invitado a la máquina virtual iaaS.
Los valores posibles son:
AutomaticByPlatform : Azure administrará la instalación de revisiones para la máquina virtual. Use con -Windows o -Linux. Requiere -ProvisionVMAgent. Requiere -EnableAutoUpdate cuando se usa con -Windows.
AutomaticByOS : el sistema operativo administrará la instalación de revisiones para la máquina virtual. Use con -Windows. Requiere -ProvisionVMAgent y -EnableAutoUpdate.
Manual : controla la aplicación de revisiones en una máquina virtual. Use con -Windows. Requiere -ProvisionVMAgent.
ImageDefault : la instalación de revisiones administrada por la configuración predeterminada en la imagen del sistema operativo. Use con -Linux.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-ProvisionVMAgent
Indica que la configuración requiere que el agente de máquina virtual esté instalado en la máquina virtual.
Tipo: | SwitchParameter |
Posición: | 5 |
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 |
-VM
Especifica el objeto de máquina virtual local en el que se van a establecer las propiedades del sistema operativo. Para obtener un objeto de máquina virtual, use el cmdlet Get-AzVM. Cree un objeto de máquina virtual mediante el cmdlet New-AzVMConfig.
Tipo: | PSVirtualMachine |
Alias: | VMProfile |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Windows
Indica que el tipo de sistema operativo es Windows.
Tipo: | SwitchParameter |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-WinRMCertificateUrl
Especifica el URI de un certificado WinRM. Esto debe almacenarse en un almacén de claves.
Tipo: | Uri |
Posición: | 10 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-WinRMHttp
Indica que este sistema operativo usa HTTP WinRM.
Tipo: | SwitchParameter |
Posición: | 8 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-WinRMHttps
Indica que este sistema operativo usa HTTPS WinRM.
Tipo: | SwitchParameter |
Posición: | 9 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |