Буфер обмена в 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).
Это обычно помогает быстро восстановить работу удаленного буфера обмена. Проверьте, работает ли теперь copy/paste (Ctrl+C / Ctrl+V) в RDP окне.
(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, нужно нажать кнопку More и включить опцию Drives . Это разрешит использовать локальные диски в RDP сессии для копирования файлов.
Если вы используете готовый *.RDP файл с настройками для подключения к удаленному компьютеру (например для подключения к RemoteApp), проверьте что в нем включены следующие опции:
redirectclipboard:i:1_x000D_redirectdrives:i:1_x000D_drivestoredirect:s:*
- redirectclipboard — разрешает использовать локальный буфер обмена в удаленной сессии;
- Drivestoredirect и redirectdrives – включают перенаправление в RDP сеанс для всех локальных дисков (нужна, если вы копируете файлы через RDP).
Как запретить/разрешить копирование через буфер обмена RDP в Windows?
С помощью параметров групповых политик или реестра вы можете разрешить или запретить использование RDP буфера обмена на хосте Windows для операций копировать/вставить.
- Запустите локальный редактор групповых политик –
gpedit.msc
; - Перейдите в секцию GPO Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Device and Resource Redirection;
- Чтобы запретить копировать данные с/на удаленный сервер через буфер обмена RDP сессии установите Enabled для следующих политик:
Do not allow Clipboard redirection - Clipboard redirection используется для копирования текста и файлов через буфер обмена в RDP)._x000D_Do not allow drive redirection - Drive mapping/redirection –позволяет пользователю получать доступ к своим локальным дискам в RDP сессии. Используется в том числе при копировании файлов.
При включении этих политик в ветке реестра HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows NTTerminal Services будут созданы следующие DWORD параметры:
fDisableCdm = 1
(запретить подключение локальных дисков на RDP хосте)
fDisableClip = 1
(запретить передачу данных через буфер обмена между RDP сервером и клиентом)Аналогичные политики есть в пользовательском разделе GPO. Это значит, что вы можете отключить буфер обмен и подключаемые диски только для определенных пользователей RDP хоста. На отдельно-стоящем компьютере для отключения буфера обмена RDP для не-администраторов, можно использовать MLGPO . - Если вы хотите принудительно разрешить использование RDP буфера обмена, измените значения параметров на Disabled (по умолчанию использование RDPClip для обмена данными между локальным компьютером и удаленным RDP хостов разрешено);
- Обновите настройки политик командой
gpupdate /force
. Для применения новых настроек к пользователям, они должны завершить свои RDP сессии (через logoff, а не disconnect).
Вы можете полностью отключить RDP буфер и перенаправление локальных дисков для всех пользователей Windows хоста с включенным RDP доступом через реестр.
Для этого создайте REG_DWORD параметры в ветке реестра HKEY _LOCAL _MACHINE Software Microsoft Terminal Server :
- DisableClipboardRedirection = 1
- DisableDriveRedirection = 1
И два параметра рассмотренных выше в ветке HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows NTTerminal Services :
- fDisableCdm =1
- fDisableClip = 1
Чтобы быстро запретить копирование данных между компьютером и удаленным RDP хостом, выполните команды:
reg add "HKEY_LOCAL_MACHINESoftwareMicrosoftTerminal Server” /v “DisableClipboardRedirection" /t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINESoftwareMicrosoftTerminal Server” /v “DisableDriveRedirection" / t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows NTTerminal Services" /v fDisableCdm /t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows NTTerminal Services" /v fDisableClip /t REG_DWORD /d 1 /f
Если вы хотите, наоборот разрешить использовать буфер обмена RDP, эти параметры реестра должны отсутствовать (по умолчанию) или их значения должны быть равны 0.
Можно проверить значение параметром реестра с помощью PowerShell:
Get-ItemProperty -Path 'HKLM:SOFTWAREPoliciesMicrosoftWindows NTTerminal Services' | Select fDisableClip,fDisableCdm
Если у вас используются 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.
Параметр Drives позволяет использовать копирование файлов через буфер обмена (используются локальные диски в RDS сеансе).
Можно изменить настройки RDS коллекции с помощью PowerShell:
Set-RDSessionCollectionConfiguration -CollectionName myCol1 -ClientDeviceRedirectionOptions “Clipboard,Drive”
xcopy \tsclientcdistrmy.iso c:serverfolder
Если у вас используется хост RDGateway для подключения к RDS , нужно учитывать что вы можете запретить или разрешить использовать буфер обмена в настройках вашей политики CAP (Connection Authorization Policy). По умолчанию в разделе Device Redirection включена опция Enable device redirection for all client devices . Здесь вы можете запретить перенаправление локального буфера обмена и дисков.
Если вы хотите запретить копировать из терминальной RDP сессии только для пользователей, но не для администраторов, можно изменить NTFS разрешения на файл c:windowssystem32rdpclip.exe
. Необходимо в свойствах файл убрать разрешение Read/Execute для встроенной группы Users (придется сначала изменить владельца файла с TrustedInstaller).