When working with virtual infrastructure virtual machines (VMs), sometimes you'd like to have copy and paste operations available. In this post, you will learn how you can enable copy and paste for a single VM or all VMs on an ESXi host.
Avatar

You might want to copy and paste in Remote Desktop Protocol (RDP) connections, for example, when working via RDP connection on a remote Windows machine. You can freely copy when working with documents through the clipboard, from and to your physical management workstation or laptop back and forth to the remote system.

Within the VMware infrastructure, this is not possible—at least not at first sight. VMware has a "best practice" in place that gives you the most protection against malicious use.

Even if you try to copy and paste, it simply doesn't work. This advanced option is not active, and VMware says this is to prevent exposing sensitive data copied to the clipboard. However, when you don't want this security setting, for let's say, a lab environment, you have the possibility to override this.

You can change this via some advanced options we will show you today. You can configure these advanced options at the VM level or at the host level. In this way, when you're working inside a VM and want to copy from a spreadsheet or text file, you won't be limited, and your copy/paste will work correctly.

As stated above, this advanced setting can occur at two levels:

  • For an individual VM(s)
  • For a whole ESXi host

Let's take a look and see how to do this for a single VM first.

Enable clipboard copy and paste for a single VM

You'll need to log in to vCenter (or an ESXi host) using the vSphere Web Client and shut down the VM.

Then select the VM, click the Summary tab, and go to Edit Settings > VM Options > Advanced > Edit Configuration > Add Configuration Params. This will add a new row. Next, type these values in the Name and Value columns:

isolation.tools.copy.disable  FALSE

Validate and then repeat and click Add Configuration Params once more to add this one as well:

isolation.tools.paste.disable FALSE
Add Configuration Params

Add Configuration Params

Click OK to close the Configuration Parameters dialog, and click OK again to close the Virtual Machine Properties dialog.

Start the VM, and you should now be able to use your clipboard.

Note: If you perform vMotion of a VM to a host where the isolation.tools.*="FALSE" parameter is already configured, it will automatically activate the copy and paste options for that VM. This means the host level overrides the VM-level options.

Enable copy and paste for all VMs

You'll need to use a Secure Shell (SSH) client for this, and you'll have to enable SSH on the host. A free SSH client for Windows called PuTTY is well known. There are plenty of others, and you can also install one as an extension in your web browser.

Then simply log in to the ESX/ESXi host as a root user.

Open the /etc/vmware/config file using the vi editor. Navigate first to the right directory (cd /etc/vmware), then type "i" to switch to insert mode, and then enter this command:

vi config

Note: You should make a backup of the /etc/vmware/config file. You can do this with the command below after you go into the /etc/vmware folder:

cp config config_old

This saves the original file as "config_old."

Once you have the backup of the original file, you can add these entries to the file:

vmx.fullpath = "/bin/vmx"isolation.tools.copy.disable="FALSE"isolation.tools.paste.disable="FALSE"
Edit the config file

Edit the config file

Save and close the file. We're done.

For the ESXi setting, you'll need to reboot the ESXi host for the values to take effect.

Wrap-up

I hope that you've enjoyed this little tweak and that it will help you to stretch your knowledge further about VMware virtual infrastructure technology.

Subscribe to 4sysops newsletter!

VMware has many advanced settings, and they always make sure to apply the best and most secure options. However, for the sake of simplicity or lab testing, you may want to know how to overcome these limitations.

avataravataravatar
16 Comments
  1. Avatar
    Gyz 5 years ago

    Hi Vladan, thanks for this great and useful tip! This is something I was missing for a long time. Do you have any idea if this could also be accomplished from PowerCli?  Many thanks

  2. Avatar
    Filip Vagner 5 years ago

    Hello Vlad, I was trying to set one VM with parameters but after configuration it still does not work.
    Are there any prerequisites? In my case does not work Copy neither Paste in any way.

    Environment :
    vCenter version 6.0.0
    Tested via vSphere client version 6.0.0 and VMware Remote Console version 10.0.3
    VM HW configuration 11
    OS Windows Server 2012 R2 Standard
    Tried logged in virtual machine as local administrator also as domain user with administrator’s priviledge (under same account logged in OS where I am running console)

  3. Avatar Author

    Hi Gyz,

    It seems that there are some additional params which are needed in vSphere 6.7.

    isolation.tools.copy.disable  FALSE
    isolation.tools.paste.disable FALSE
    isolation.tools.setGUIOptions.enable TRUE

    I just quickly tested it with vSphere 6.7 on “per-VM” level. Hope it helps.

    • Avatar
      Filip Vágner 5 years ago

      I just tried to add another configuration line and still no luck.
      Might be caused by older version.

  4. Avatar
    gyzmos 5 years ago

    Hi Vladan,

    Thanks, I managed to get it working from Powercli with Get-AdvancedSetting / Set-AdvancedSetting cmdlets. However it didn’t work before PowerOff/PowerOn of the VM, Restart-VM was not sufficient.

     

  5. Avatar
    Ahsan 5 years ago

    Hi Vladan,

    I am using 6.7 and I have added one line mentioned in your post to the config file of the host but I am not able to copy/paste.

    Do I need to add these 3 lines too to the config file in addition to the one added earlier ?

    isolation.tools.copy.disable  FALSE
    isolation.tools.paste.disable FALSE
    isolation.tools.setGUIOptions.enable TRUE

    Thanks

    • Avatar Author
      Vladan SEGET 5 years ago

      Hi Ahsan,

      Only those 3 lines are necessary. That’s all.

      Hope it helps.

  6. Avatar
    Ilya 5 years ago

    isolation.tools.copy.disable  FALSE
    isolation.tools.paste.disable FALSE
    isolation.tools.setGUIOptions.enable TRUE

    That method doesn’t work!

    Why?

  7. Avatar
    Fred 3 years ago

    I'm using ESXi ver 6.5.0, Win7 VM, and  running Win10 connecting to the VM through Firefox browser.

    The 3 lines stated above made Copy & Paste work from VM to host, but it doesn'y seem to work the other way, Host to VM.  Is it NOT suppossed to work going the other way?

    Thanks

  8. Avatar
    Ren 3 years ago

    Same here, doesn't work into the vm….

    avatar
  9. Avatar
    Austin Wolff 3 years ago

    Still not able to get this to work with ESXi v6.7.. I've tried updating VMWare Tools on the local host (vm – Windows 10) but no luck.. I use Mac Fusion and "connect to server" to interact with hosts but have also tried the web ESXi console and VMware Remote Console. None of which allow copy and paste… Anyone else?

    • Avatar
      Ed Weber 3 years ago

      Same thing. 

      • Host
        • VM ESXi 6.7.0
        • Build 13006603
      • Guest
        • Ubuntu Linux 20.04
        • The three additional parameters added to the advanced configuration for the VM

      Copy/Paste does NOT work in either direction.  Where else can we look?

  10. Avatar
    Chadi 2 years ago

    This doesnt work on our ESXi running 7.0 either

  11. Avatar
    Luke 2 years ago
    $NewVM = get-vm -Name $server
    New-AdvancedSetting -Entity $NewVM.name -Name isolation.tools.copy.enable -Value True -Confirm:$false -Force:$true
    New-AdvancedSetting -Entity $NewVM.name -Name isolation.tools.paste.enable -Value True -Confirm:$false -Force:$true
    New-AdvancedSetting -Entity $NewVM.name -Name isolation.tools.copy.disable -Value False -Confirm:$false -Force:$true
    New-AdvancedSetting -Entity $NewVM.name -Name isolation.tools.paste.disable -Value False -Confirm:$false -Force:$true
    New-AdvancedSetting -Entity $NewVM.name -Name isolation.tools.setGUIOptions.enable -Value True -Confirm:$false -Force:$true
    

    This works for me with ESXi 6.7 to VMware Workstation as the vm viewer / remote console.

  12. Avatar
    JklMag 1 year ago

    This is ridiculous. Why something so simple so complicated? Hyper-V has no issue with this.

Leave a reply

Your email address will not be published. Required fields are marked *

*

© 4sysops 2006 - 2023

CONTACT US

Please ask IT administration questions in the forums. Any other messages are welcome.

Sending

Log in with your credentials

or    

Forgot your details?

Create Account