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 de
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 de
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 de 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: 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 |