Preparación de un VHD o un VHDX de Windows antes de cargarlo en AzurePrepare a Windows VHD or VHDX to upload to Azure

Antes de cargar una máquina virtual Windows desde un entorno local en Azure, debe preparar el disco duro virtual (VHD o VHDX).Before you upload a Windows virtual machine (VM) from on-premises to Azure, you must prepare the virtual hard disk (VHD or VHDX). Azure admite máquinas virtuales de generación 1 y de generación 2 que estén en el formato de archivo VHD y tengan un disco de tamaño fijo.Azure supports both generation 1 and generation 2 VMs that are in VHD file format and that have a fixed-size disk. El tamaño máximo permitido para los discos duros virtuales es de 1023 GB.The maximum size allowed for the VHD is 1,023 GB.

En una máquina virtual de generación 1, un sistema de archivos VHDX se puede convertir a VHD.In a generation 1 VM, you can convert a VHDX file system to VHD. También se puede convertir un disco de expansión dinámica en un disco de tamaño fijo.You can also convert a dynamically expanding disk to a fixed-size disk. Sin embargo, no puede cambiar la generación de una máquina virtual.But you can't change a VM's generation. Para más información, vea ¿Debería crear una máquina virtual de generación 1 o 2 en Hyper-V? y Compatibilidad de Azure con máquinas virtuales de generación 2 (versión preliminar).For more information, see Should I create a generation 1 or 2 VM in Hyper-V? and Azure support for generation 2 VMs (preview).

Para información sobre la directiva de soporte de software de servidor de Microsoft ejecutado en Azure, vea Soporte técnico del software de servidor de Microsoft para máquinas virtuales de Microsoft Azure.For information about the support policy for Azure VMs, see Microsoft server software support for Azure VMs.

Nota

Las instrucciones de este artículo se aplican a:The instructions in this article apply to:

  1. La versión de Windows Server 2008 R2 de 64 bits y versiones posteriores de los sistemas operativos de Windows Server.The 64-bit version of Windows Server 2008 R2 and later Windows Server operating systems. Para más información sobre cómo ejecutar un sistema operativo de 32 bits en Azure, vea Compatibilidad de sistemas operativos de 32 bits en máquinas virtuales de Azure.For information about running a 32-bit operating system in Azure, see Support for 32-bit operating systems in Azure VMs.
  2. Si se va a usar una herramienta de recuperación ante desastres para migrar la carga de trabajo, como Azure Site Recovery o Azure Migrate, sigue siendo necesario realizar este proceso y seguirlo en el sistema operativo invitado para preparar la imagen antes de la migración.If any Disaster Recovery tool will be used to migrate the workload, like Azure Site Recovery or Azure Migrate, this process is still required to be done and followed on the Guest OS to prepare the image prior the migration.

Conversión de un disco virtual en un disco de tamaño fijo y VHDConvert the virtual disk to a fixed size and to VHD

Si necesita convertir el disco virtual al formato requerido para Azure, utilice uno de los métodos de esta sección:If you need to convert your virtual disk to the required format for Azure, use one of the methods in this section:

  1. Cree una copia de seguridad de la máquina virtual antes de ejecutar el proceso de conversión del disco virtual.Back up the VM before you run the virtual disk conversion process.

  2. Asegúrese de que el disco duro virtual de Windows funciona correctamente en el servidor local.Make sure that the Windows VHD works correctly on the local server. Resuelva los errores dentro de la propia máquina virtual antes de intentar la conversión o la carga en Azure.Resolve any errors within the VM itself before you try to convert or upload it to Azure.

  3. Con respecto al tamaño del disco duro virtual:Regarding the size of the VHD:

    1. En Azure, todos los discos duros virtuales deben tener un tamaño virtual alineado con 1 MB.All VHDs on Azure must have a virtual size aligned to 1MB. Al convertir un disco sin procesar en un disco duro virtual, tiene que asegurarse de que su tamaño es un múltiplo de 1 MB antes de la conversión.When converting from a raw disk to VHD you must ensure that the raw disk size is a multiple of 1 MB before conversion. Las fracciones de un megabyte provocarán errores al crear imágenes a partir del disco duro virtual cargado.Fractions of a megabyte will cause errors when creating images from the uploaded VHD.

    2. El tamaño máximo permitido del disco duro virtual del SO es de 2 TB.The maximum size allowed for the OS VHD is 2TB.

Después de convertir el disco, cree una máquina virtual que use dicho disco.After you convert the disk, create a VM that uses the disk. Inicie la máquina virtual e inicie sesión en ella para prepararla para cargarla.Start and sign in to the VM to finish preparing it for uploading.

Uso de Administrador de Hyper-V para convertir el discoUse Hyper-V Manager to convert the disk

  1. Abra el Administrador de Hyper-V y seleccione el equipo local de la izquierda.Open Hyper-V Manager and select your local computer on the left. En el menú situado sobre la lista de equipos, seleccione Acción > Editar disco.In the menu above the computer list, select Action > Edit Disk.
  2. En la página Localizar disco duro virtual, localice y seleccione el disco virtual.On the Locate Virtual Hard Disk page, select your virtual disk.
  3. En la página Elegir acción, seleccione Convertir > Siguiente.On the Choose Action page, select Convert > Next.
  4. Si necesita realizar la conversión desde VHDX, seleccione VHD > Siguiente.If you need to convert from VHDX, select VHD > Next.
  5. Si necesita realizar la conversión desde un disco de expansión dinámica, seleccione Tamaño fijo > Siguiente.If you need to convert from a dynamically expanding disk, select Fixed size > Next.
  6. Localice y seleccione una ruta de acceso para guardar el nuevo archivo VHD en ella.Locate and select a path to save the new VHD file to.
  7. Seleccione Finalizar.Select Finish.

Nota

Use una sesión de PowerShell con privilegios elevados para ejecutar los comandos de este artículo.Use an elevated PowerShell session to run the commands in this article.

Uso de PowerShell para convertir el discoUse PowerShell to convert the disk

Puede convertir un disco virtual mediante el comando Convert-VHD en Windows PowerShell.You can convert a virtual disk by using the Convert-VHD command in Windows PowerShell. Seleccione Ejecutar como administrador al iniciar PowerShell.Select Run as administrator when you start PowerShell.

Con el siguiente comando de ejemplo, el disco se convierte de VHDX a VHD.The following example command converts the disk from VHDX to VHD. Este comando convierte también un disco de expansión dinámica en un disco de tamaño fijo.The command also converts the disk from a dynamically expanding disk to a fixed-size disk.

Convert-VHD –Path c:\test\MY-VM.vhdx –DestinationPath c:\test\MY-NEW-VM.vhd -VHDType Fixed

En este comando, reemplace el valor de -Path por la ruta de acceso del disco duro virtual que quiera convertir.In this command, replace the value for -Path with the path to the virtual hard disk that you want to convert. Reemplace el valor de -DestinationPath por la nueva ruta de acceso y el nombre del disco convertido.Replace the value for -DestinationPath with the new path and name of the converted disk.

Conversión del formato de disco VMDK de VMwareConvert from VMware VMDK disk format

Si tiene una imagen de máquina virtual de Windows en formato de archivo VMDK, use Microsoft Virtual Machine Converter para convertirla en un disco duro virtual.If you have a Windows VM image in the VMDK file format, use the Microsoft Virtual Machine Converter to convert it to VHD format. Para más información, vea Cómo convertir un VMDK de VMWare a VHD de Hyper-V.For more information, see How to convert a VMware VMDK to Hyper-V VHD.

Establecimiento de configuraciones de Windows para AzureSet Windows configurations for Azure

En la máquina virtual que tenga previsto cargar en Azure, ejecute los siguientes comandos en una ventana del símbolo del sistema con privilegios elevados:On the VM that you plan to upload to Azure, run the following commands from an elevated command prompt window:

  1. Quite cualquier ruta estática persistente de la tabla de enrutamiento:Remove any static persistent route on the routing table:

    • Para ver la tabla de rutas, ejecute route print en el símbolo del sistema.To view the route table, run route print at the command prompt.
    • Consulte las secciones Persistence Routes.Check the Persistence Routes sections. Si hay una ruta persistente, use el comando route delete para quitarla.If there's a persistent route, use the route delete command to remove it.
  2. Quite al proxy WinHTTP:Remove the WinHTTP proxy:

    netsh winhttp reset proxy
    

    Si es necesario que la máquina virtual funcione con algún proxy concreto, agregue una excepción de proxy a la dirección IP de Azure (168.63.129.16), de forma que la máquina virtual tenga conectividad con Azure:If the VM needs to work with a specific proxy, add a proxy exception to the Azure IP address (168.63.129.16) so the VM can connect to Azure:

    $proxyAddress="<your proxy server>"
    $proxyBypassList="<your list of bypasses>;168.63.129.16"
    
    netsh winhttp set proxy $proxyAddress $proxyBypassList
    
  3. Establezca la directiva SAN del disco en Onlineall:Set the disk SAN policy to Onlineall:

    diskpart 
    

    En la ventana del símbolo del sistema abierta, escriba los comandos siguientes:In the open command prompt window, type the following commands:

    san policy=onlineall
    exit   
    
  4. Establezca la Hora universal coordinada (UTC) para Windows.Set Coordinated Universal Time (UTC) time for Windows. Establezca también el tipo de inicio del servicio Hora de Windows (w32time) en Automatic:Also set the startup type of the Windows time service (w32time) to Automatic:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation' -name "RealTimeIsUniversal" -Value 1 -Type DWord -force
    
    Set-Service -Name w32time -StartupType Automatic
    
  5. Establezca el perfil de energía en alto rendimiento:Set the power profile to high performance:

    powercfg /setactive SCHEME_MIN
    
  6. Asegúrese de que las variables de entorno TEMP y TMP están establecidos en sus valores predeterminados:Make sure the environmental variables TEMP and TMP are set to their default values:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment' -name "TEMP" -Value "%SystemRoot%\TEMP" -Type ExpandString -force
    
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment' -name "TMP" -Value "%SystemRoot%\TEMP" -Type ExpandString -force
    

Comprobación de los servicios de WindowsCheck the Windows services

Asegúrese de que cada uno de los siguientes servicios de Windows está establecido en los valores predeterminados de Windows.Make sure that each of the following Windows services is set to the Windows default values. Estos servicios son lo mínimo que debe configurarse para garantizar la conectividad de las máquinas virtuales.These services are the minimum that must be set up to ensure VM connectivity. Para restablecer la configuración de inicio, ejecute los siguientes comandos:To reset the startup settings, run the following commands:

Set-Service -Name bfe -StartupType Automatic
Set-Service -Name dhcp -StartupType Automatic
Set-Service -Name dnscache -StartupType Automatic
Set-Service -Name IKEEXT -StartupType Automatic
Set-Service -Name iphlpsvc -StartupType Automatic
Set-Service -Name netlogon -StartupType Manual
Set-Service -Name netman -StartupType Manual
Set-Service -Name nsi -StartupType Automatic
Set-Service -Name termService -StartupType Manual
Set-Service -Name MpsSvc -StartupType Automatic
Set-Service -Name RemoteRegistry -StartupType Automatic

Actualización de la configuración del Registro de Escritorio remotoUpdate remote-desktop registry settings

Asegúrese de que la siguiente configuración está establecida correctamente para la conexión remota:Make sure the following settings are configured correctly for remote access:

Nota

Puede que reciba un mensaje de error al ejecutar Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services -name &lt;object name&gt; -value &lt;value&gt;.You might receive an error message when you run Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services -name &lt;object name&gt; -value &lt;value&gt;. Puede omitir este mensaje sin problemas.You can safely ignore this message. Solo significa que el dominio no obliga a esa configuración a aceptar un objeto de directiva de grupo.It means only that the domain isn't pushing that configuration through a Group Policy Object.

  1. Protocolo de escritorio remoto (RDP) está habilitado:Remote Desktop Protocol (RDP) is enabled:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -name "fDenyTSConnections" -Value 0 -Type DWord -force
    
    Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -name "fDenyTSConnections" -Value 0 -Type DWord -force
    
  2. El puerto de RDP está configurado correctamente.The RDP port is set up correctly. El puerto predeterminado es 3389:The default port is 3389:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp' -name "PortNumber" -Value 3389 -Type DWord -force
    

    Al implementar una máquina virtual, las reglas predeterminadas se crean en el puerto 3389.When you deploy a VM, the default rules are created against port 3389. Si quiere cambiar el número de puerto, hágalo una vez implementada la máquina virtual en Azure.If you want to change the port number, do that after the VM is deployed in Azure.

  3. El agente de escucha está escuchando en todas las interfaces de red:The listener is listening in every network interface:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp' -name "LanAdapter" -Value 0 -Type DWord -force
    
  4. Configure el modo Autenticación a nivel de red (NLA) para las conexiones RDP:Configure the network-level authentication (NLA) mode for the RDP connections:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "UserAuthentication" -Value 1 -Type DWord -force
    
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "SecurityLayer" -Value 1 -Type DWord -force
    
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "fAllowSecProtocolNegotiation" -Value 1 -Type DWord -force
    
  5. Establezca el valor de conexión persistente:Set the keep-alive value:

    Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -name "KeepAliveEnable" -Value 1  -Type DWord -force
    Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -name "KeepAliveInterval" -Value 1  -Type DWord -force
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp' -name "KeepAliveTimeout" -Value 1 -Type DWord -force
    
  6. Vuelva a conectarse:Reconnect:

    Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' -name "fDisableAutoReconnect" -Value 0 -Type DWord -force
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp' -name "fInheritReconnectSame" -Value 1 -Type DWord -force
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp' -name "fReconnectSame" -Value 0 -Type DWord -force
    
  7. Limite el número de conexiones simultáneas:Limit the number of concurrent connections:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp' -name "MaxInstanceCount" -Value 4294967295 -Type DWord -force
    
  8. Quite cualquier certificado autofirmado que pueda haber enlazado al agente de escucha del Protocolo de escritorio remoto:Remove any self-signed certificates tied to the RDP listener:

    Remove-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "SSLCertificateSHA1Hash" -force
    

    Este código garantiza que puede se conectar al principio, al implementar la máquina virtual.This code ensures that you can connect at the beginning when you deploy the VM. Si necesita revisar esto más adelante, puede hacerlo una vez implementada la máquina virtual en Azure.If you need to review this later, you can do so after the VM is deployed in Azure.

  9. Si la máquina virtual va a formar parte de un dominio, compruebe las siguientes directivas para asegurarse de que la configuración anterior no se revierte.If the VM will be part of a domain, check the following policies to make sure the former settings aren't reverted.

    ObjetivoGoal DirectivaPolicy ValorValue
    RDP está habilitadoRDP is enabled Configuración del equipo\Directivas\Configuración de Windows\Plantillas administrativas\ Componentes\Servicios de Escritorio remoto\Host de sesión de Escritorio remoto\ConexionesComputer Configuration\Policies\Windows Settings\Administrative Templates\Components\Remote Desktop Services\Remote Desktop Session Host\Connections Permitir a los usuarios conectarse de forma remota desde el Escritorio remotoAllow users to connect remotely by using Remote Desktop
    Directiva de grupo de NLANLA group policy Configuración\Plantillas administrativas\Componentes\Servicios de Escritorio remoto\Host de sesión de Escritorio remoto\SeguridadSettings\Administrative Templates\Components\Remote Desktop Services\Remote Desktop Session Host\Security Requerir la autenticación del usuario para las conexiones remotas mediante Autenticación a nivel de redRequire user authentication for remote access by using NLA
    Configuración de configuración persistenteKeep-alive settings Configuración del equipo\Directivas\Configuración de Windows\Plantillas administrativas\ Componentes Windows\Servicios de Escritorio remoto\Host de sesión de Escritorio remoto\ConexionesComputer Configuration\Policies\Windows Settings\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Connections Configurar el intervalo de conexión persistenteConfigure keep-alive connection interval
    Configuración de reconexiónReconnect settings Configuración del equipo\Directivas\Configuración de Windows\Plantillas administrativas\ Componentes Windows\Servicios de Escritorio remoto\Host de sesión de Escritorio remoto\ConexionesComputer Configuration\Policies\Windows Settings\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Connections Reconectar automáticamenteReconnect automatically
    Configuración de número limitado de conexionesLimited number of connection settings Configuración del equipo\Directivas\Configuración de Windows\Plantillas administrativas\ Componentes Windows\Servicios de Escritorio remoto\Host de sesión de Escritorio remoto\ConexionesComputer Configuration\Policies\Windows Settings\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Connections Limitar el número de conexionesLimit number of connections

Configuración de reglas de firewall de WindowsConfigure Windows Firewall rules

  1. Active Firewall de Windows en los tres perfiles (dominio, estándar y público):Turn on Windows Firewall on the three profiles (domain, standard, and public):

     Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
    
  2. Ejecute el comando siguiente en PowerShell para permitir WinRM mediante los tres perfiles de firewall (dominio, privado y público) y habilitar el servicio remoto de PowerShell:Run the following command in PowerShell to allow WinRM through the three firewall profiles (domain, private, and public), and enable the PowerShell remote service:

     Enable-PSRemoting -force
    
     Set-NetFirewallRule -DisplayName "Windows Remote Management (HTTP-In)" -Enabled True
    
  3. Habilite las siguientes reglas de firewall para permitir el tráfico RDP:Enable the following firewall rules to allow the RDP traffic:

     Set-NetFirewallRule -DisplayGroup "Remote Desktop" -Enabled True
    
  4. Habilite la regla de uso compartido de archivos e impresoras para que la máquina virtual pueda responder a un comando ping dentro de la red virtual:Enable the rule for file and printer sharing so the VM can respond to a ping command inside the virtual network:

    Set-NetFirewallRule -DisplayName "File and Printer Sharing (Echo Request - ICMPv4-In)" -Enabled True
    
  5. Si la máquina virtual va a formar parte de un dominio, compruebe las siguientes directivas de Azure AD para asegurarse de que la configuración anterior no se revierte.If the VM will be part of a domain, check the following Azure AD policies to make sure the former settings aren't reverted.

    ObjetivoGoal DirectivaPolicy ValorValue
    Habilitar los perfiles de Firewall de WindowsEnable the Windows Firewall profiles Configuración del equipo\Directivas\Configuración de Windows\Plantillas administrativas\Red\Conexión de red\Firewall de Windows\Perfil de dominio\Firewall de WindowComputer Configuration\Policies\Windows Settings\Administrative Templates\Network\Network Connection\Windows Firewall\Domain Profile\Windows Firewall Proteger todas las conexiones de redProtect all network connections
    Habilitar RDPEnable RDP Configuración del equipo\Directivas\Configuración de Windows\Plantillas administrativas\Red\Conexión de red\Firewall de Windows\Perfil de dominio\Firewall de WindowComputer Configuration\Policies\Windows Settings\Administrative Templates\Network\Network Connection\Windows Firewall\Domain Profile\Windows Firewall Permitir excepciones de Escritorio remoto entrantesAllow inbound Remote Desktop exceptions
    Configuración del equipo\Directivas\Configuración de Windows\Plantillas administrativas\Red\Conexión de red\Firewall de Windows\Perfil estándar\Firewall de WindowsComputer Configuration\Policies\Windows Settings\Administrative Templates\Network\Network Connection\Windows Firewall\Standard Profile\Windows Firewall Permitir excepciones de Escritorio remoto entrantesAllow inbound Remote Desktop exceptions
    Habilitar ICMP-V4Enable ICMP-V4 Configuración del equipo\Directivas\Configuración de Windows\Plantillas administrativas\Red\Conexión de red\Firewall de Windows\Perfil de dominio\Firewall de WindowComputer Configuration\Policies\Windows Settings\Administrative Templates\Network\Network Connection\Windows Firewall\Domain Profile\Windows Firewall Permitir excepciones de ICMPAllow ICMP exceptions
    Configuración del equipo\Directivas\Configuración de Windows\Plantillas administrativas\Red\Conexión de red\Firewall de Windows\Perfil estándar\Firewall de WindowsComputer Configuration\Policies\Windows Settings\Administrative Templates\Network\Network Connection\Windows Firewall\Standard Profile\Windows Firewall Permitir excepciones de ICMPAllow ICMP exceptions

Comprobación de la máquina virtualVerify the VM

Asegúrese de que la máquina virtual tiene un estado correcto, es segura y está accesible desde RDP:Make sure the VM is healthy, secure, and RDP accessible:

  1. Para garantizar que el disco es coherente y está en buen estado, compruebe el disco en el próximo reinicio de máquina virtual:To make sure the disk is healthy and consistent, check the disk at the next VM restart:

    Chkdsk /f
    

    Asegúrese de que el informe muestra un disco limpio y en buen estado.Make sure the report shows a clean and healthy disk.

  2. Establezca la configuración de datos de la configuración de arranque (BCD).Set the Boot Configuration Data (BCD) settings.

    Nota

    Use una ventana de PowerShell con privilegios elevados para ejecutar estos comandos.Use an elevated PowerShell window to run these commands.

     cmd
    
     bcdedit /set {bootmgr} integrityservices enable
     bcdedit /set {default} device partition=C:
     bcdedit /set {default} integrityservices enable
     bcdedit /set {default} recoveryenabled Off
     bcdedit /set {default} osdevice partition=C:
     bcdedit /set {default} bootstatuspolicy IgnoreAllFailures
    
     #Enable Serial Console Feature
     bcdedit /set {bootmgr} displaybootmenu yes
     bcdedit /set {bootmgr} timeout 5
     bcdedit /set {bootmgr} bootems yes
     bcdedit /ems {current} ON
     bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200
    
     exit
    
  3. El registro de volcado de memoria puede ser útil para solucionar problemas de bloqueo de Windows.The dump log can be helpful in troubleshooting Windows crash issues. Habilite la colección de registros de volcado de memoria:Enable the dump log collection:

    # Set up the guest OS to collect a kernel dump on an OS crash event
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\CrashControl' -name CrashDumpEnabled -Type DWord -force -Value 2
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\CrashControl' -name DumpFile -Type ExpandString -force -Value "%SystemRoot%\MEMORY.DMP"
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\CrashControl' -name NMICrashDump -Type DWord -force -Value 1
    
    # Set up the guest OS to collect user mode dumps on a service crash event
    $key = 'HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps'
    if ((Test-Path -Path $key) -eq $false) {(New-Item -Path 'HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting' -Name LocalDumps)}
    New-ItemProperty -Path $key -name DumpFolder -Type ExpandString -force -Value "c:\CrashDumps"
    New-ItemProperty -Path $key -name CrashCount -Type DWord -force -Value 10
    New-ItemProperty -Path $key -name DumpType -Type DWord -force -Value 2
    Set-Service -Name WerSvc -StartupType Manual
    
  4. Compruebe que el repositorio de Instrumental de administración de Windows (WMI) es coherente:Verify that the Windows Management Instrumentation (WMI) repository is consistent:

    winmgmt /verifyrepository
    

    Si el repositorio está dañado, consulte WMI: daños en el repositorio, o no.If the repository is corrupted, see WMI: Repository corruption or not.

  5. Asegúrese de que ninguna otra aplicación está usando el puerto 3389.Make sure no other application is using port 3389. Este puerto se usa para el servicio RDP en Azure.This port is used for the RDP service in Azure. Para ver qué puertos se usan en la máquina virtual, ejecute netstat -anob:To see which ports are used on the VM, run netstat -anob:

    netstat -anob
    
  6. Para cargar un VHD de Windows que sea un controlador de dominio:To upload a Windows VHD that's a domain controller:

    • Siga estos pasos adicionales para preparar el disco.Follow these extra steps to prepare the disk.

    • Asegúrese de que conoce la contraseña de Modo de restauración de servicios de directorio (DSRM), por si tiene que iniciar la máquina virtual en DSRM en algún momento.Make sure you know the Directory Services Restore Mode (DSRM) password in case you have to start the VM in DSRM at some point. Para más información, vea Establecer una contraseña de DSRM.For more information, see Set a DSRM password.

  7. Asegúrese de que conoce la cuenta predefinida de administrador y la contraseña.Make sure you know the built-in administrator account and password. Es posible que quiera restablecer la contraseña de administrador local actual y asegurarse de que puede usar esta cuenta para iniciar sesión en Windows mediante la conexión RDP.You might want to reset the current local administrator password and make sure you can use this account to sign in to Windows through the RDP connection. Este permiso de acceso se controla mediante el objeto de directiva de grupo "Permitir inicio de sesión a través de Servicios de Escritorio remoto".This access permission is controlled by the "Allow log on through Remote Desktop Services" Group Policy Object. Puede ver este objeto en el Editor de directivas de grupo local, aquí:View this object in the Local Group Policy Editor here:

    Configuración del equipo\Configuración de Windows\Configuración de seguridad\Directivas locales\Asignación de derechos de usuarioComputer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment

  8. Compruebe las siguientes directivas de Azure AD para asegurarse de que no bloquea el acceso de RDP a través de RDP ni desde la red:Check the following Azure AD policies to make sure you're not blocking your RDP access through RDP or from the network:

    • Configuración del equipo\Configuración de Windows\Configuración de seguridad\Directivas locales\Asignación de derechos de usuario\Denegar el acceso a este equipo desde la redComputer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\Deny access to this computer from the network

    • Configuración del equipo\Configuración de Windows\Configuración de seguridad\Directivas locales\Asignación de derechos de usuario\Denegar inicio de sesión a través de Servicios de Escritorio remotoComputer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\Deny log on through Remote Desktop Services

  9. Compruebe la siguiente directiva de Azure AD para asegurarse de que no quita ninguna de las cuentas de acceso obligatorias:Check the following Azure AD policy to make sure you're not removing any of the required access accounts:

    • Configuración del equipo\Configuración de Windows\Configuración de seguridad\Directivas locales\Asignación de derechos de usuario\Acceder a este equipo desde la redComputer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\Access this computer from the network

    En la directiva deben aparecer los siguientes grupos:The policy should list the following groups:

    • AdministradoresAdministrators

    • Operadores de copias de seguridadBackup Operators

    • TodosEveryone

    • UsuariosUsers

  10. Reinicie la máquina virtual para asegurarse de que Windows sigue funcionando correctamente y puede conectarse a ella a través de RDP.Restart the VM to make sure that Windows is still healthy and can be reached through the RDP connection. Llegado este punto, puede que quiera crear una máquina virtual en la instancia de Hyper-V local para asegurarse de que la máquina virtual se inicia completamente.At this point, you might want to create a VM in your local Hyper-V to make sure the VM starts completely. Tras ello, realice pruebas para asegurarse de que se puede acceder a la máquina virtual a través de RDP.Then test to make sure you can reach the VM through RDP.

  11. Quite los filtros extra de Interfaz de controlador de transporte (TDI).Remove any extra Transport Driver Interface (TDI) filters. Por ejemplo, quite el software que analice paquetes TCP o firewalls adicionales.For example, remove software that analyzes TCP packets or extra firewalls. Si necesita revisar esto más adelante, puede hacerlo una vez implementada la máquina virtual en Azure.If you need to review this later, you can do so after the VM is deployed in Azure.

  12. Desinstale cualquier otro software de terceros o controlador relacionado con componentes físicos, o cualquier otra tecnología de virtualización.Uninstall any other third-party software or driver that's related to physical components or any other virtualization technology.

Instalación de actualizaciones de WindowsInstall Windows updates

Lo ideal es mantener la máquina actualizada en el nivel de revisiónIdeally, you should keep the machine updated at the patch level. pero, si no es posible, asegúrese de que las siguientes actualizaciones están instaladas:If this isn't possible, make sure the following updates are installed:

ComponenteComponent BinaryBinary Windows 7 SP1, Windows Server 2008 R2 SP1Windows 7 SP1, Windows Server 2008 R2 SP1 Windows 8, Windows Server 2012Windows 8, Windows Server 2012 Windows 8.1, Windows Server 2012 R2Windows 8.1, Windows Server 2012 R2 Windows 10 v1607, Windows Server 2016 v1607Windows 10 v1607, Windows Server 2016 v1607 Windows 10 v1703Windows 10 v1703 Windows 10 v1709, Windows Server 2016 v1709Windows 10 v1709, Windows Server 2016 v1709 Windows 10 v1803, Windows Server 2016 v1803Windows 10 v1803, Windows Server 2016 v1803
StorageStorage disk.sysdisk.sys 6.1.7601.23403 - KB31255746.1.7601.23403 - KB3125574 6.2.9200.17638 / 6.2.9200.21757 - KB31370616.2.9200.17638 / 6.2.9200.21757 - KB3137061 6.3.9600.18203 - KB31370616.3.9600.18203 - KB3137061 - - - -
storport.sysstorport.sys 6.1.7601.23403 - KB31255746.1.7601.23403 - KB3125574 6.2.9200.17188 / 6.2.9200.21306 - KB30184896.2.9200.17188 / 6.2.9200.21306 - KB3018489 6.3.9600.18573 - KB40227266.3.9600.18573 - KB4022726 10.0.14393.1358 - KB402271510.0.14393.1358 - KB4022715 10.0.15063.33210.0.15063.332 - -
ntfs.sysntfs.sys 6.1.7601.23403 - KB31255746.1.7601.23403 - KB3125574 6.2.9200.17623 / 6.2.9200.21743 - KB31212556.2.9200.17623 / 6.2.9200.21743 - KB3121255 6.3.9600.18654 - KB40227266.3.9600.18654 - KB4022726 10.0.14393.1198 - KB402271510.0.14393.1198 - KB4022715 10.0.15063.44710.0.15063.447 - -
Iologmsg.dllIologmsg.dll 6.1.7601.23403 - KB31255746.1.7601.23403 - KB3125574 6.2.9200.16384 - KB29953876.2.9200.16384 - KB2995387 - - - - -
Classpnp.sysClasspnp.sys 6.1.7601.23403 - KB31255746.1.7601.23403 - KB3125574 6.2.9200.17061 / 6.2.9200.21180 - KB29953876.2.9200.17061 / 6.2.9200.21180 - KB2995387 6.3.9600.18334 - KB31726146.3.9600.18334 - KB3172614 10.0.14393.953 - KB402271510.0.14393.953 - KB4022715 - - -
Volsnap.sysVolsnap.sys 6.1.7601.23403 - KB31255746.1.7601.23403 - KB3125574 6.2.9200.17047 / 6.2.9200.21165 - KB29753316.2.9200.17047 / 6.2.9200.21165 - KB2975331 6.3.9600.18265 - KB31453846.3.9600.18265 - KB3145384 - 10.0.15063.010.0.15063.0 - -
partmgr.syspartmgr.sys 6.1.7601.23403 - KB31255746.1.7601.23403 - KB3125574 6.2.9200.16681 - KB28771146.2.9200.16681 - KB2877114 6.3.9600.17401 - KB30008506.3.9600.17401 - KB3000850 10.0.14393.953 - KB402271510.0.14393.953 - KB4022715 10.0.15063.010.0.15063.0 - -
volmgr.sysvolmgr.sys 10.0.15063.010.0.15063.0 - -
Volmgrx.sysVolmgrx.sys 6.1.7601.23403 - KB31255746.1.7601.23403 - KB3125574 - - - 10.0.15063.010.0.15063.0 - -
Msiscsi.sysMsiscsi.sys 6.1.7601.23403 - KB31255746.1.7601.23403 - KB3125574 6.2.9200.21006 - KB29551636.2.9200.21006 - KB2955163 6.3.9600.18624 - KB40227266.3.9600.18624 - KB4022726 10.0.14393.1066 - KB402271510.0.14393.1066 - KB4022715 10.0.15063.44710.0.15063.447 - -
Msdsm.sysMsdsm.sys 6.1.7601.23403 - KB31255746.1.7601.23403 - KB3125574 6.2.9200.21474 - KB30461016.2.9200.21474 - KB3046101 6.3.9600.18592 - KB40227266.3.9600.18592 - KB4022726 - - - -
Mpio.sysMpio.sys 6.1.7601.23403 - KB31255746.1.7601.23403 - KB3125574 6.2.9200.21190 - KB30461016.2.9200.21190 - KB3046101 6.3.9600.18616 - KB40227266.3.9600.18616 - KB4022726 10.0.14393.1198 - KB402271510.0.14393.1198 - KB4022715 - - -
vmstorfl.sysvmstorfl.sys 6.3.9600.18907 - KB40726506.3.9600.18907 - KB4072650 6.3.9600.18080 - KB30631096.3.9600.18080 - KB3063109 6.3.9600.18907 - KB40726506.3.9600.18907 - KB4072650 10.0.14393.2007 - KB434541810.0.14393.2007 - KB4345418 10.0.15063.850 - KB434541910.0.15063.850 - KB4345419 10.0.16299.371 - KB434542010.0.16299.371 - KB4345420 -
Fveapi.dllFveapi.dll 6.1.7601.23311 - KB31255746.1.7601.23311 - KB3125574 6.2.9200.20930 - KB29302446.2.9200.20930 - KB2930244 6.3.9600.18294 - KB31726146.3.9600.18294 - KB3172614 10.0.14393.576 - KB402271510.0.14393.576 - KB4022715 - - -
Fveapibase.dllFveapibase.dll 6.1.7601.23403 - KB31255746.1.7601.23403 - KB3125574 6.2.9200.20930 - KB29302446.2.9200.20930 - KB2930244 6.3.9600.17415 - KB31726146.3.9600.17415 - KB3172614 10.0.14393.206 - KB402271510.0.14393.206 - KB4022715 - - -
RedNetwork netvsc.sysnetvsc.sys - - - 10.0.14393.1198 - KB402271510.0.14393.1198 - KB4022715 10.0.15063.250 - KB402000110.0.15063.250 - KB4020001 - -
mrxsmb10.sysmrxsmb10.sys 6.1.7601.23816 - KB40227226.1.7601.23816 - KB4022722 6.2.9200.22108 - KB40227246.2.9200.22108 - KB4022724 6.3.9600.18603 - KB40227266.3.9600.18603 - KB4022726 10.0.14393.479 - KB402271510.0.14393.479 - KB4022715 10.0.15063.48310.0.15063.483 - -
mrxsmb20.sysmrxsmb20.sys 6.1.7601.23816 - KB40227226.1.7601.23816 - KB4022722 6.2.9200.21548 - KB40227246.2.9200.21548 - KB4022724 6.3.9600.18586 - KB40227266.3.9600.18586 - KB4022726 10.0.14393.953 - KB402271510.0.14393.953 - KB4022715 10.0.15063.48310.0.15063.483 - -
mrxsmb.sysmrxsmb.sys 6.1.7601.23816 - KB40227226.1.7601.23816 - KB4022722 6.2.9200.22074 - KB40227246.2.9200.22074 - KB4022724 6.3.9600.18586 - KB40227266.3.9600.18586 - KB4022726 10.0.14393.953 - KB402271510.0.14393.953 - KB4022715 10.0.15063.010.0.15063.0 - -
tcpip.systcpip.sys 6.1.7601.23761 - KB40227226.1.7601.23761 - KB4022722 6.2.9200.22070 - KB40227246.2.9200.22070 - KB4022724 6.3.9600.18478 - KB40227266.3.9600.18478 - KB4022726 10.0.14393.1358 - KB402271510.0.14393.1358 - KB4022715 10.0.15063.44710.0.15063.447 - -
http.syshttp.sys 6.1.7601.23403 - KB31255746.1.7601.23403 - KB3125574 6.2.9200.17285 - KB30425536.2.9200.17285 - KB3042553 6.3.9600.18574 - KB40227266.3.9600.18574 - KB4022726 10.0.14393.251 - KB402271510.0.14393.251 - KB4022715 10.0.15063.48310.0.15063.483 - -
vmswitch.sysvmswitch.sys 6.1.7601.23727 - KB40227196.1.7601.23727 - KB4022719 6.2.9200.22117 - KB40227246.2.9200.22117 - KB4022724 6.3.9600.18654 - KB40227266.3.9600.18654 - KB4022726 10.0.14393.1358 - KB402271510.0.14393.1358 - KB4022715 10.0.15063.13810.0.15063.138 - -
CoreCore ntoskrnl.exentoskrnl.exe 6.1.7601.23807 - KB40227196.1.7601.23807 - KB4022719 6.2.9200.22170 - KB40227186.2.9200.22170 - KB4022718 6.3.9600.18696 - KB40227266.3.9600.18696 - KB4022726 10.0.14393.1358 - KB402271510.0.14393.1358 - KB4022715 10.0.15063.48310.0.15063.483 - -
Servicios de Escritorio remotoRemote Desktop Services rdpcorets.dllrdpcorets.dll 6.2.9200.21506 - KB40227196.2.9200.21506 - KB4022719 6.2.9200.22104 - KB40227246.2.9200.22104 - KB4022724 6.3.9600.18619 - KB40227266.3.9600.18619 - KB4022726 10.0.14393.1198 - KB402271510.0.14393.1198 - KB4022715 10.0.15063.010.0.15063.0 - -
termsrv.dlltermsrv.dll 6.1.7601.23403 - KB31255746.1.7601.23403 - KB3125574 6.2.9200.17048 - KB29735016.2.9200.17048 - KB2973501 6.3.9600.17415 - KB30008506.3.9600.17415 - KB3000850 10.0.14393.0 - KB402271510.0.14393.0 - KB4022715 10.0.15063.010.0.15063.0 - -
termdd.systermdd.sys 6.1.7601.23403 - KB31255746.1.7601.23403 - KB3125574 - - - - - -
win32k.syswin32k.sys 6.1.7601.23807 - KB40227196.1.7601.23807 - KB4022719 6.2.9200.22168 - KB40227186.2.9200.22168 - KB4022718 6.3.9600.18698 - KB40227266.3.9600.18698 - KB4022726 10.0.14393.594 - KB402271510.0.14393.594 - KB4022715 - - -
rdpdd.dllrdpdd.dll 6.1.7601.23403 - KB31255746.1.7601.23403 - KB3125574 - - - - - -
rdpwd.sysrdpwd.sys 6.1.7601.23403 - KB31255746.1.7601.23403 - KB3125574 - - - - - -
SeguridadSecurity MS17-010MS17-010 KB4012212KB4012212 KB4012213KB4012213 KB4012213KB4012213 KB4012606KB4012606 KB4012606KB4012606 - -
KB4012216KB4012216 KB4013198KB4013198 KB4013198KB4013198 - -
KB4012215KB4012215 KB4012214KB4012214 KB4012216KB4012216 KB4013429KB4013429 KB4013429KB4013429 - -
KB4012217KB4012217 KB4013429KB4013429 KB4013429KB4013429 - -
CVE-2018-0886CVE-2018-0886 KB4103718KB4103718 KB4103730KB4103730 KB4103725KB4103725 KB4103723KB4103723 KB4103731KB4103731 KB4103727KB4103727 KB4103721KB4103721
KB4103712KB4103712 KB4103726KB4103726 KB4103715KB4103715

Determinar cuándo usar Sysprep Determine when to use Sysprep

Herramienta de preparación del sistema (Sysprep) es un proceso que se puede ejecutar para restablecer una instalación de Windows.System Preparation Tool (Sysprep) is a process you can run to reset a Windows installation. Sysprep proporciona una experiencia original, al eliminar todos los datos personales y restablecer varios componentes.Sysprep provides an "out of the box" experience by removing all personal data and resetting several components.

Sysprep se suele ejecutar para crear una plantilla desde la que implementar muchas otras máquinas virtuales que tengan una configuración específica.You typically run Sysprep to create a template from which you can deploy several other VMs that have a specific configuration. Esta plantilla se conoce como imagen generalizada.The template is called a generalized image.

Si lo que quiere es crear una sola máquina virtual desde un disco, no tiene que usar Sysprep,If you want to create only one VM from one disk, you don’t have to use Sysprep. sino crear la máquina virtual desde una imagen especializada.Instead, you can create the VM from a specialized image. Para más información sobre cómo crear una máquina virtual desde un disco especializado, vea:For information about how to create a VM from a specialized disk, see:

Si desea crear una imagen generalizada, debe ejecutar Sysprep.If you want to create a generalized image, you need to run Sysprep. Para información, vea Uso de Sysprep: Introducción.For more information, see How to use Sysprep: An introduction.

No todos los roles o aplicaciones instalados en un equipo basado en Windows admiten estas imágenes generalizadas;Not every role or application that's installed on a Windows-based computer supports generalized images. por lo tanto, antes de ejecutar este procedimiento, asegúrese de que Sysprep admite el rol del equipo.So before you run this procedure, make sure Sysprep supports the role of the computer. Para más información, consulte Sysprep Support for Server Roles (Compatibilidad de Sysprep con roles de servidor).For more information, see Sysprep support for server roles.

Generalización de un VHDGeneralize a VHD

Nota

Después de ejecutar sysprep.exe en los pasos siguientes, desactive la máquina virtual.After you run sysprep.exe in the following steps, turn off the VM. No vuelva a activarla hasta que cree una imagen de ella en Azure.Don't turn it back on until you create an image from it in Azure.

  1. Inicie sesión en la máquina virtual Windows.Sign in to the Windows VM.

  2. Ejecute Símbolo del sistema como administrador.Run Command Prompt as an administrator.

  3. Cambie el directorio a %windir%\system32\sysprep.Change the directory to %windir%\system32\sysprep. A continuación, ejecute sysprep.exe.Then run sysprep.exe.

  4. En Herramienta de preparación del sistema, seleccione Iniciar la Configuración rápida (OOBE) y asegúrese de que la casilla Generalizar está activada.In the System Preparation Tool dialog box, select Enter System Out-of-Box Experience (OOBE), and make sure that the Generalize check box is selected.

    Herramienta de preparación del sistema

  5. En Opciones de apagado, seleccione Apagar.In Shutdown Options, select Shutdown.

  6. Seleccione Aceptar.Select OK.

  7. Cuando Sysprep finalice, apague la máquina virtual.When Sysprep finishes, shut down the VM. No use Reiniciar para apagar la máquina virtual.Don't use Restart to shut down the VM.

Ahora el disco duro virtual está listo para cargarse.Now the VHD is ready to be uploaded. Para más información sobre cómo crear una máquina virtual desde un disco generalizado, vea Carga de un VHD generalizado en Azure para crear una máquina virtual nueva.For more information about how to create a VM from a generalized disk, see Upload a generalized VHD and use it to create a new VM in Azure.

Nota

No se admite un archivo unattend.xml personalizado,A custom unattend.xml file is not supported. pero sí la propiedad additionalUnattendContent, que solo proporciona compatibilidad limitada para agregar las opciones de microsoft-windows-shell-setup en el archivo unattend.xml que utiliza el agente de aprovisionamiento de Azure.Although we do support the additionalUnattendContent property, that provides only limited support for adding microsoft-windows-shell-setup options into the unattend.xml file that the Azure provisioning agent uses. Por ejemplo, puede usar additionalUnattendContent para agregar FirstLogonCommands y LogonCommands.You can use, for example, additionalUnattendContent to add FirstLogonCommands and LogonCommands. Para más información, vea el ejemplo de FirstLogonCommands de additionalUnattendContent.For more information, see additionalUnattendContent FirstLogonCommands example.

Los siguientes valores de configuración no afectan a la carga de discos duros virtuales.The following settings don't affect VHD uploading. Sin embargo, se recomienda firmemente que los configure.However, we strongly recommend that you configured them.

  • Instale el agente de máquina virtual de Azure.Install the Azure Virtual Machine Agent. A continuación, puede habilitar las extensiones de máquina virtual.Then you can enable VM extensions. Las extensiones de máquina virtual implementan la mayor parte de la funcionalidad crítica que es posible que quiera usar con las máquinas virtuales.The VM extensions implement most of the critical functionality that you might want to use with your VMs. Necesitará estas extensiones, por ejemplo, para restablecer contraseñas o configurar RDP.You'll need the extensions, for example, to reset passwords or configure RDP. Para más información, vea Información general sobre el agente de la máquina virtual de Azure.For more information, see Azure Virtual Machine Agent overview.

  • Después de crear la máquina virtual en Azure, recomendamos que ponga el archivo de paginación en el volumen de unidad temporal para mejorar el rendimiento.After you create the VM in Azure, we recommend that you put the page file on the temporal drive volume to improve performance. Puede configurar la ubicación de archivos del siguiente modo:You can set up the file placement as follows:

    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management' -name "PagingFiles" -Value "D:\pagefile.sys" -Type MultiString -force
    

    Si hay un disco de datos conectado a la máquina virtual, la letra de unidad del volumen de unidad temporal suele ser D. Esta designación podría ser diferente, dependiendo de la configuración y del número de unidades disponibles.If a data disk is attached to the VM, the temporal drive volume's letter is typically D. This designation could be different, depending on your settings and the number of available drives.

Pasos siguientesNext steps