{"id":825,"date":"2026-10-13T09:00:00","date_gmt":"2026-10-13T09:00:00","guid":{"rendered":"https:\/\/vpslake.com\/blog\/?p=825"},"modified":"2026-10-13T09:00:00","modified_gmt":"2026-10-13T09:00:00","slug":"fix-copy-paste-not-working-rdp","status":"publish","type":"post","link":"https:\/\/vpslake.com\/blog\/2026\/10\/13\/fix-copy-paste-not-working-rdp\/","title":{"rendered":"How to Fix Copy-Paste Not Working in RDP"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Fix copy-paste not working in RDP by checking the local Remote Desktop setting, restarting the remote clipboard process, and removing policy blocks. These checks take about 10 minutes and cover Windows 10, Windows 11, and common Windows Server VPS sessions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>A Windows 10 or Windows 11 computer running the built-in Remote Desktop Connection client (<code>mstsc.exe<\/code>).<\/li>\n\n\n<li>A remote Windows 10, Windows 11, or Windows Server VPS with an active RDP session.<\/li>\n\n\n<li>Administrator access on the remote computer if you need to edit Local Group Policy or restart Remote Desktop Services. You only need access to your own session to restart <code>rdpclip.exe<\/code>.<\/li>\n\n\n<li>No extra RAM, disk space, domain, or firewall port is required for ordinary clipboard text transfer. File copy also needs client-drive redirection to be permitted.<\/li>\n\n\n<li>If you need a Windows desktop to manage remotely, <a href=\"https:\/\/vpslake.com\/buy-windows-rdp\">VPSLake Windows RDP hosting<\/a> provides a suitable server environment.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Enable clipboard redirection in the RDP client<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The local RDP client must request clipboard redirection when it creates the session; changing the option after you connect does not repair the current session.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On the computer you connect from, press <code>Windows key + R<\/code>, enter the command below, and select <strong>OK<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mstsc.exe<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">In Remote Desktop Connection, select <strong>Show Options \u2192 Local Resources<\/strong>. Under <strong>Local devices and resources<\/strong>, make sure <strong>Clipboard<\/strong> is checked. Select <strong>Connect<\/strong>, sign in again, and test a short line of plain text.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you normally connect with a saved <code>.rdp<\/code> file, open it through <code>mstsc.exe<\/code>, change the same setting, and save the file before reconnecting. Microsoft lists <code>mstsc.exe<\/code> and its connection options in the <a href=\"https:\/\/learn.microsoft.com\/en-us\/windows-server\/administration\/windows-commands\/mstsc\" target=\"_blank\" rel=\"noopener\">Remote Desktop Connection command reference<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Restart <code>rdpclip.exe<\/code> inside the remote session<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The RDP clipboard process can become stuck even when the client setting is correct, so restarting it is the quickest server-side repair.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Inside the remote desktop, open <strong>Start \u2192 Windows PowerShell<\/strong>. You do not normally need <strong>Run as administrator<\/strong> when restarting the clipboard process belonging to your own session. Run:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>taskkill.exe \/IM rdpclip.exe \/F\nStart-Process -FilePath \"$env:WINDIR\\System32\\rdpclip.exe\"\nGet-Process -Name rdpclip -ErrorAction SilentlyContinue | Select-Object Name,Id,Path<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The first command may say that no process was found; that is harmless because the next command starts a fresh one. A successful check shows a running process similar to:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Name    Id   Path\n----    --   ----\nrdpclip 4820 C:\\Windows\\System32\\rdpclip.exe<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Try copying plain text in both directions before changing system policy. If text now works, the fault was limited to the clipboard process in the earlier session.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Remove a Group Policy block<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Server policy overrides the checkbox in the RDP client, so a disabled client option cannot restore clipboard access when the host is configured to reject it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On the remote computer, open the local policy editor:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>gpedit.msc<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Go to <strong>Computer Configuration \u2192 Administrative Templates \u2192 Windows Components \u2192 Remote Desktop Services \u2192 Remote Desktop Session Host \u2192 Device and Resource Redirection<\/strong>. Open <strong>Do not allow Clipboard redirection<\/strong> and choose <strong>Disabled<\/strong> or <strong>Not Configured<\/strong>, then select <strong>Apply \u2192 OK<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Apply the policy and reconnect:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>gpupdate \/force<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Expected output includes:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Updating policy...\nComputer Policy update has completed successfully.\nUser Policy update has completed successfully.<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Microsoft&#8217;s <a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/client-management\/mdm\/policy-csp-admx-terminalserver\" target=\"_blank\" rel=\"noopener\">TerminalServer policy reference<\/a> identifies this setting and its <code>fDisableClip<\/code> policy value. If the server is joined to a domain, a domain policy or security baseline may apply again at the next refresh; the domain administrator must change that policy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: Check Remote Desktop services<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The clipboard process depends on a healthy RDP session, so confirm the core services are running before restarting the whole RDP service.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In an elevated PowerShell window on the remote computer, run:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Get-Service -Name TermService,UmRdpService | Format-Table Name,Status,StartType<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Expected output is:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Name         Status  StartType\n----         ------  ---------\nTermService  Running Automatic\nUmRdpService Running Manual<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If either service is stopped, open <strong>Services \u2192 Remote Desktop Services<\/strong> or <strong>Remote Desktop Services UserMode Port Redirector<\/strong>, select <strong>Start<\/strong>, and reconnect. Do not restart <code>TermService<\/code> casually from the same RDP window because doing so will end the session.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the previous steps fail, use the VPS control panel&#8217;s <strong>Virtualizor \u2192 VNC<\/strong> console or another local administrator session, then run:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Restart-Service -Name TermService -Force<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Wait for the RDP listener to return, reconnect from <code>mstsc.exe<\/code>, and repeat Step 2. A service restart can disconnect every active RDP session on the server.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 5: Allow drive redirection when files fail but text works<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Text clipboard and file transfer are related but not identical; a policy that blocks client drives can leave text working while file copy fails.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the local RDP client, open <strong>Show Options \u2192 Local Resources \u2192 More<\/strong>. Expand <strong>Drives<\/strong>, select the local drive that should be available, choose <strong>OK<\/strong>, and reconnect. On the server, check <strong>Computer Configuration \u2192 Administrative Templates \u2192 Windows Components \u2192 Remote Desktop Services \u2192 Remote Desktop Session Host \u2192 Device and Resource Redirection \u2192 Do not allow drive redirection<\/strong>. It must be <strong>Disabled<\/strong> or <strong>Not Configured<\/strong> if you need to copy files through a redirected drive.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Do not enable drive redirection just to solve a text-only problem. Redirected drives expose local files to the remote session, so allow only the drive and direction your work requires.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Verify RDP clipboard transfer<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use a harmless marker instead of a password or production data. First copy <code>RDP-CLIPBOARD-TEST<\/code> from the local computer and paste it into Notepad in the remote session. Then run this on the remote computer:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Set-Clipboard -Value \"RDP-CLIPBOARD-TEST\"\nGet-Clipboard<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The expected output is:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>RDP-CLIPBOARD-TEST<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Paste into a local Notepad window to confirm the remote-to-local direction too. If you enabled drive redirection, copy a small non-sensitive text file through the selected redirected drive and open it on both sides. Both text directions and the file test should work without an additional firewall rule.<\/p>\n\n\n\n<aside class=\"vl-element vl-cta-banner\" aria-label=\"Need a Windows VPS?\">\n\t<div class=\"vl-cta-banner__content\">\n\t\t<p class=\"vl-cta-banner__eyebrow\">Windows RDP hosting<\/p>\n\t\t<h3 class=\"vl-cta-banner__title\">Need a Windows VPS?<\/h3>\n\t\t<p class=\"vl-cta-banner__text\">Get a Windows RDP server with administrator access for reliable remote desktop work.<\/p>\n\t<\/div>\n\t<a class=\"vl-cta-banner__button\" href=\"\/buy-windows-rdp\" aria-label=\"View Windows RDP\">View Windows RDP<\/a>\n<\/aside>\n\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Clipboard is checked, but paste still does nothing<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The existing session may have been created before the setting was enabled, or <code>rdpclip.exe<\/code> may be frozen. Disconnect fully rather than just closing a minimized window, reconnect, and repeat Step 2 inside the new session.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Text works, but copying files does not<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The local drive is not redirected, or <strong>Do not allow drive redirection<\/strong> is enabled by policy. Select the needed drive under <strong>Local Resources \u2192 More<\/strong>, clear the blocking policy on a server you administer, and reconnect. For a managed server, ask the administrator whether file transfer is intentionally restricted.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><code>gpedit.msc<\/code> is not available or the setting changes back<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Some client editions do not include the Local Group Policy Editor, and a domain policy can overwrite a local change. On a managed VPS, have an administrator inspect the applied domain policy; do not work around an intentional clipboard restriction by editing unrelated registry values.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Restarting Remote Desktop Services disconnected me<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">That is expected because <code>TermService<\/code> owns the RDP listener and active sessions can be terminated when it restarts. Reconnect after the service is running, or use the VPS control panel&#8217;s <strong>Virtualizor \u2192 VNC<\/strong> console if the RDP client cannot connect again.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">FAQ<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Does RDP clipboard redirection require a new firewall rule?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No. Clipboard data travels inside the established RDP connection, so repairing redirection does not require opening another inbound port. Keep the existing Windows Defender Firewall and RDP access restricted to the sources you trust.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Why does copy work from the remote server but not to it?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The client and server can apply different direction or content restrictions, especially on managed Windows 11 and Windows Server environments. Check the client <strong>Clipboard<\/strong> option first, then review both user and computer policies under <strong>Device and Resource Redirection<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Is <code>rdpclip.exe<\/code> a Windows service?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No. It is a per-session process that handles clipboard integration for the interactive RDP session. That is why ending and starting the process can fix the problem without rebooting Windows.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Is it safe to leave clipboard redirection enabled?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Clipboard redirection is convenient, but anything copied in one session can be exposed to the other side. Disable it for untrusted users or sensitive administrative servers, and use a controlled file-transfer method when you need stronger separation.<\/p>\n\n\n\n<script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@type\": \"FAQPage\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"Does RDP clipboard redirection require a new firewall rule?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"No. Clipboard data travels inside the established RDP connection, so repairing redirection does not require opening another inbound port. Keep the existing Windows Defender Firewall and RDP access restricted to the sources you trust.\"}}, {\"@type\": \"Question\", \"name\": \"Why does copy work from the remote server but not to it?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"The client and server can apply different direction or content restrictions, especially on managed Windows 11 and Windows Server environments. Check the client **Clipboard** option first, then review both user and computer policies under **Device and Resource Redirection**.\"}}, {\"@type\": \"Question\", \"name\": \"Is `rdpclip.exe` a Windows service?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"No. It is a per-session process that handles clipboard integration for the interactive RDP session. That is why ending and starting the process can fix the problem without rebooting Windows.\"}}, {\"@type\": \"Question\", \"name\": \"Is it safe to leave clipboard redirection enabled?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Clipboard redirection is convenient, but anything copied in one session can be exposed to the other side. Disable it for untrusted users or sensitive administrative servers, and use a controlled file-transfer method when you need stronger separation.\"}}]}<\/script>\n\n","protected":false},"excerpt":{"rendered":"Fix copy-paste not working in RDP by checking mstsc clipboard redirection, restarting rdpclip.exe, clearing policy blocks, and testing transfers.","protected":false},"author":1,"featured_media":826,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_singular_sidebar":"","csco_page_header_type":"","csco_page_load_nextpost":"","footnotes":""},"categories":[5,10],"tags":[57,32,23,56],"class_list":["post-825","post","type-post","status-publish","format-standard","has-post-thumbnail","category-guides","category-windows-rdp","tag-clipboard","tag-rdp","tag-remote-desktop","tag-windows","cs-entry"],"_links":{"self":[{"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts\/825","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/comments?post=825"}],"version-history":[{"count":1,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts\/825\/revisions"}],"predecessor-version":[{"id":3048,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts\/825\/revisions\/3048"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/media\/826"}],"wp:attachment":[{"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/media?parent=825"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/categories?post=825"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/tags?post=825"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}