Administración de máquinas virtuales Windows con PowerShell DirectManage Windows virtual machines with PowerShell Direct

Se aplica a: Windows 10, Windows Server 2016, Windows Server 2019Applies To: Windows 10, Windows Server 2016, Windows Server 2019

Puede usar PowerShell Direct para administrar de forma remota una máquina virtual de Windows 10, Windows Server 2016 o Windows Server 2019 desde un host de Hyper-V de Windows 10, Windows Server 2016 o Windows Server 2019.You can use PowerShell Direct to remotely manage a Windows 10, Windows Server 2016, or Windows Server 2019 virtual machine from a Windows 10, Windows Server 2016, or Windows Server 2019 Hyper-V host. PowerShell Direct permite la administración de Windows PowerShell dentro de una máquina virtual, independientemente de la configuración de la red o la configuración de administración remota en el host de Hyper-V o la máquina virtual.PowerShell Direct allows Windows PowerShell management inside a virtual machine regardless of the network configuration or remote management settings on either the Hyper-V host or the virtual machine. Esto facilita a los administradores de Hyper-V la automatización y creación de scripts de configuración y administración de las máquinas virtuales.This makes it easier for Hyper-V Administrators to automate and script virtual machine management and configuration.

Hay dos maneras de ejecutar PowerShell Direct:There are two ways to run PowerShell Direct:

  • Crear y salir de una sesión de PowerShell Direct mediante cmdlets de PSSessionCreate and exit a PowerShell Direct session using PSSession cmdlets

  • Ejecutar script o comando con el cmdlet Invoke-CommandRun script or command with the Invoke-Command cmdlet

Si está administrando máquinas virtuales antiguas, use la opción Conexión a máquina virtual (VMConnect) o configure una red virtual para la máquina virtual.If you're managing older virtual machines, use Virtual Machine Connection (VMConnect) or configure a virtual network for the virtual machine.

Crear y salir de una sesión de PowerShell Direct mediante cmdlets de PSSessionCreate and exit a PowerShell Direct session using PSSession cmdlets

  1. En el host de Hyper-V, abra Windows PowerShell como administrador.On the Hyper-V host, open Windows PowerShell as Administrator.

  2. Use el cmdlet Enter-PSSession para conectarse a la máquina virtual.Use the Enter-PSSession cmdlet to connect to the virtual machine. Ejecute uno de los siguientes comandos para crear una sesión mediante el GUID o el nombre de la máquina virtual:Run one of the following commands to create a session by using the virtual machine name or GUID:

    Enter-PSSession -VMName <VMName>  
    
    Enter-PSSession -VMGUID <VMGUID>  
    
  3. Escriba las credenciales de la máquina virtual.Type your credentials for the virtual machine.

  4. Ejecute los comandos que necesite.Run whatever commands you need to. Estos comandos se ejecutan en la máquina virtual con la que creó la sesión.These commands run on the virtual machine that you created the session with.

  5. Cuando haya terminado, use Exit-PSSession para cerrar la sesión.When you're done, use the Exit-PSSession to close the session.

    Exit-PSSession  
    

Ejecutar script o comando con el cmdlet Invoke-CommandRun script or command with Invoke-Command cmdlet

Puede usar el cmdlet Invoke-Command para ejecutar un conjunto predeterminado de comandos en la máquina virtual.You can use the Invoke-Command cmdlet to run a pre-determined set of commands on the virtual machine. Este es un ejemplo de cómo puede usar el cmdlet Invoke-Command, donde PSTest es el nombre de la máquina virtual y el script que se ejecutará (foo.ps1) está en la carpeta script de la unidad C:/:Here is an example of how you can use the Invoke-Command cmdlet where PSTest is the virtual machine name and the script to run (foo.ps1) is in the script folder on the C:/ drive:

Invoke-Command -VMName PSTest  -FilePath C:\script\foo.ps1  

Para ejecutar un único comando, use el parámetro -ScriptBlock:To run a single command, use the -ScriptBlock parameter:

Invoke-Command -VMName PSTest  -ScriptBlock { cmdlet }  

¿Qué se requiere para usar PowerShell Direct?What's required to use PowerShell Direct?

Para crear una sesión de PowerShell Direct en una máquina virtual,To create a PowerShell Direct session on a virtual machine,

  • La máquina virtual debe ejecutarse localmente en el host y estar iniciada.The virtual machine must be running locally on the host and booted.

  • Debe iniciar sesión en el equipo host como un administrador de Hyper-V.You must be logged into the host computer as a Hyper-V administrator.

  • Debe facilitar credenciales de usuario válidas para la máquina virtual.You must supply valid user credentials for the virtual machine.

  • El sistema operativo host debe ejecutar al menos Windows 10 o Windows Server 2016.The host operating system must run at least Windows 10 or Windows Server 2016.

  • La máquina virtual debe ejecutar al menos Windows 10 o Windows Server 2016.The virtual machine must run at least Windows 10 or Windows Server 2016.

Puede usar el cmdlet Get-VM para comprobar que las credenciales que está usando tienen el rol de administrador de Hyper-V y para obtener una lista de las máquinas virtuales que se ejecutan localmente en el host y se inician.You can use the Get-VM cmdlet to check that the credentials you're using have the Hyper-V administrator role and to get a list of the virtual machines running locally on the host and booted.

Vea tambiénSee Also

Enter-PSSessionEnter-PSSession
Exit-PSSessionExit-PSSession
Invoke-CommandInvoke-Command