Не работает буфер обмена в RDP сессии Windows

Буфер обмена в RDP сессии удобно использовать для передачи текста и файлом между локальным компьютером и удаленным хостом (это может быть как рабочая станция Windows, так и RDS ферма на Windows Server). Иногда случается, что буфер обмена в терминальной сессии Windows (или приложении RemoteApp) перестает работать, и вы не можете передать (скопировать/вставить) ваши данные между вашим компьютером и RDP сервером.

Возможны несколько сценариев: проверьте, разрешено ли перенаправление буфера обмена на клиенте RDP, проверьте настройки копирования файлов/данных через буфер обмена RDP на сервере, перезапустите сбойный процесса rdpclip.exe в текущей терминальной сессии пользователя.

Перезапуск процесса буфера обмена в RDP сессии (rdpclip.exe)

Если буфер обмена в конкретной RDP сессии неожиданно перестал работать, а пункт Paste в контекстном меню удаленного компьютера стал неактивным, проще всего корректно завершить текущую RDP сессию ( logoff ) и подключиться заново. Это наверняка исправит проблему с буфером обмена. Но этом неудобно, потому что вам придется заново запускать все приложения в терминальном сеансе. Вы можете попробовать восстановить работу буфера обмена в RDP сессии без выполнения logoff.

ЗЗа работу буфера обмена между вашим компьютером и RDP хостом отвечает приложение rdpclip.exe. Для каждого удаленного пользователя при подключении к Remote Desktop стартует собственный процесс rdpclip.exe . С помощью Task Manager вы можете завершить процесс rdpclip.exe (RDP Clipboard Monitor/ Монитор буфера обмена RDP -> Emd task) и запустить его вручную (Task Manager -> File -> Start new task -> rdpclip.exe —> Enter).

завершить процесс rdpclip.exe (RDP Clipboard Monitor)

Это обычно помогает быстро восстановить работу удаленного буфера обмена. Проверьте, работает ли теперь copy/paste (Ctrl+C / Ctrl+V) в RDP окне.

запустить rdpclip вручную

Пользователи могут самостоятельно перезапускать зависший процесс rdpclip.exe с помощью простого PowerShell скрипта. Достаточно поместить PS1 файл на рабочий стол общего профиля Public или скопировать файл пользователям на рабочие столы через GPO.

(Get-WmiObject -Query "select * from Win32_Process where name='RDPClip.exe'"|?{$_.GetOwner().User -eq $ENV:USERNAME}).Terminate()
rdpclip.exe

Для удобства можно подписать этот PowerShell скрипт или настроить политику PowerShell Execution Policy.

Разрешить буфера обмена в RDP клиенте Windows

Проверьте, что настройки вашего RDP клиента разрешают использовать буфер обмена в окне терминальной сессии.

Если вы используете встроенный RDP клиент Windows (Remote Desktop Connection, mstsc.exe) для подключения к удаленному терминальному серверу, проверьте что в его настройках разрешено копирования через RDP буфер обмена

Перейдите на вкладку Local Resources, проверьте что в секции “Choose the devices and resources that you want to use in your remote session” включена опция Clipboard (Буфер обмена).

разрешить использовать буфер обмена в rdp

Если вы хотите разрешить копировать файлы через буфер обмена RDP, нужно нажать кнопку More и включить опцию Drives. Это разрешит использовать локальные диски в RDP сессии для копирования файлов.

включить перенаправление локальных дисков в rdp сессию

Если вы используете другой RDP клиент, например Remote Desktop Connection Manager или mRemoteNG, имейте в виду что опция удаленного буфера обмена может называться по-другому.

Если вы используете готовый *.RDP файл с настройками для подключения к удаленному компьютеру (например для подключения к RemoteApp), проверьте что в нем включены следующие опции:

redirectclipboard:i:1
redirectdrives:i:1
drivestoredirect:s:*
  • redirectclipboard — разрешает использовать локальный буфер обмена в удаленной сессии;
  • Drivestoredirect и redirectdrives – включают перенаправление в RDP сеанс для всех локальных дисков (нужна, если вы копируете файлы через RDP).

опция redirectclipboard в rdp файле

Как запретить/разрешить копирование через буфер обмена RDP в Windows?

С помощью параметров групповых политик или реестра вы можете разрешить или запретить использование RDP буфера обмена на хосте Windows для операций копировать/вставить.

  1. Запустите локальный редактор групповых политикgpedit.msc ;
  2. Перейдите в секцию GPO Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Device and Resource Redirection;
  3. Чтобы запретить копировать данные с/на удаленный сервер через буфер обмена RDP сессии установите Enabled для следующих политик:
    Do not allow Clipboard redirection - Clipboard redirection используется для копирования текста и файлов через буфер обмена в RDP).
    Do not allow drive redirection - Drive mapping/redirection –позволяет пользователю получать доступ к своим локальным дискам в RDP сессии. Используется в том числе при копировании файлов.

    Do not allow Clipboard redirection групповая политика
    При включении этих политик в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services будут созданы следующие DWORD параметры:
    fDisableCdm = 1 (запретить подключение локальных дисков на RDP хосте)
    fDisableClip = 1 (запретить передачу данных через буфер обмена между RDP сервером и клиентом)

    Аналогичные политики есть в пользовательском разделе GPO. Это значит, что вы можете отключить буфер обмен и подключаемые диски только для определенных пользователей RDP хоста. На отдельно-стоящем компьютере для отключения буфера обмена RDP для не-администраторов, можно использовать MLGPO.
  4. Если вы хотите принудительно разрешить использование RDP буфера обмена, измените значения параметров на Disabled (по умолчанию использование RDPClip для обмена данными между локальным компьютером и удаленным RDP хостов разрешено);
  5. Обновите настройки политик командой gpupdate /force . Для применения новых настроек к пользователям, они должны завершить свои RDP сессии (через logoff, а не disconnect).

Вы можете полностью отключить RDP буфер и перенаправление локальных дисков для всех пользователей Windows хоста с включенным RDP доступом через реестр.

Для этого создайте REG_DWORD параметры в ветке реестра HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server:

  • DisableClipboardRedirection = 1
  • DisableDriveRedirection = 1

И два параметра рассмотренных выше в ветке HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services:

  • fDisableCdm =1
  • fDisableClip = 1

Чтобы быстро запретить копирование данных между компьютером и удаленным RDP хостом, выполните команды:

reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server” /v “DisableClipboardRedirection" /t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server” /v “DisableDriveRedirection" / t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fDisableCdm /t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fDisableClip /t REG_DWORD /d 1 /f

Если вы хотите, наоборот разрешить использовать буфер обмена RDP, эти параметры реестра должны отсутствовать (по умолчанию) или их значения должны быть равны 0.

Можно проверить значение параметром реестра с помощью PowerShell:

Get-ItemProperty -Path 'HKLM:SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services' | Select fDisableClip,fDisableCdm

ращзрешить rdp буфер через реестр

Если у вас используются RDS сервера на Windows Server 2022,2019,2016, можно включить/отключить буфер обмена и локальные диски в настройках RDS коллекции. Откройте Server Manager -> Remote Desktop Services -> Collections -> Tasks -> Edit Properties -> Client Settings. Снимите галки у опций “Clipboard” и “Drive” в секции Enable redirecting for the following.

настройки RDS коллекции - запретить буфер обмена и копирование файлов

Параметр Drives позволяет использовать копирование файлов через буфер обмена (используются локальные диски в RDS сеансе).

Можно изменить настройки RDS коллекции с помощью PowerShell:

Set-RDSessionCollectionConfiguration -CollectionName myCol1 -ClientDeviceRedirectionOptions “Clipboard,Drive”

Обратите внимание, что через буфер обмена RDP нельзя копировать файлы более 2 Гб. Если вам нужно скопировать большой файл между RDS хостом и локальным компьютером, воспользуйтесь командой xcopy:

xcopy \\tsclient\c\distr\my.iso c:\serverfolder

Если у вас используется хост RDGateway для подключения к RDS, нужно учитывать что вы можете запретить или разрешить использовать буфер обмена в настройках вашей политики CAP (Connection Authorization Policy). По умолчанию в разделе Device Redirection включена опция Enable device redirection for all client devices. Здесь вы можете запретить перенаправление локального буфера обмена и дисков.

rd gateway разрешить буфер обмена в RDP

Если вы хотите запретить копировать из терминальной RDP сессии только для пользователей, но не для администраторов, можно изменить NTFS разрешения на файл c:\windows\system32\rdpclip.exe . Необходимо в свойствах файл убрать разрешение Read/Execute для встроенной группы Users (придется сначала изменить владельца файла с TrustedInstaller).

запрети на использование rdpclip.exe для не-администраторов


Предыдущая статья Следующая статья


Комментариев: 30 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)