интеграция рабочего стола # RDP

Ты можешь использовать это RDP-соединение в XPipe для быстрого запуска приложений и скриптов. Однако из-за особенностей RDP тебе придется отредактировать список разрешенных удаленных приложений на своем сервере, чтобы это работало.

Ты также можешь не делать этого и просто использовать XPipe для запуска своего RDP-клиента, не используя никаких продвинутых функций интеграции с рабочим столом.

## Списки разрешений RDP

Сервер RDP использует концепцию списков разрешений для обработки запуска приложений. По сути, это означает, что если список разрешений не отключен или конкретные приложения не были явно добавлены в список разрешений, запуск любых удаленных приложений напрямую будет неудачным.

Настройки разрешительного списка ты можешь найти в реестре своего сервера по адресу `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList`.

### Разрешение всех приложений

Ты можешь отключить список разрешений, чтобы разрешить запуск всех удаленных приложений прямо из XPipe. Для этого ты можешь выполнить следующую команду на своем сервере в PowerShell: `Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList' -Name "fDisabledAllowList" -Value 1`.

### Добавление разрешенных приложений

Кроме того, ты можешь добавить в список отдельные удаленные приложения. Тогда ты сможешь запускать перечисленные приложения прямо из XPipe.

Под ключом `Applications` в `TSAppAllowList` создай новый ключ с каким-нибудь произвольным именем. Единственное требование к имени - оно должно быть уникальным в пределах дочерних элементов ключа "Applications". Этот новый ключ должен содержать такие значения: `Name`, `Path` и `CommandLineSetting`. Ты можешь сделать это в PowerShell с помощью следующих команд:

```
$appName="Notepad"
$appPath="C:\Windows\System32\notepad.exe"

$regKey="HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications"
New-item -Path "$regKey\$appName"
New-ItemProperty -Path "$regKey\$appName" -Name "Name" -Value "$appName" -Force
New-ItemProperty -Path "$regKey\$appName" -Name "Path" -Value "$appPath" -Force
New-ItemProperty -Path "$regKey\$appName" -Name "CommandLineSetting" -Value "1" -PropertyType DWord -Force
```

Если ты хочешь разрешить XPipe также запускать скрипты и открывать терминальные сессии, то тебе нужно добавить `C:\Windows\System32\cmd.exe` в список разрешенных также.

## Соображения безопасности

Это никоим образом не делает твой сервер небезопасным, так как ты всегда можешь запустить те же приложения вручную при запуске RDP-соединения. Списки разрешений больше предназначены для того, чтобы клиенты не могли мгновенно запустить любое приложение без участия пользователя. В конце концов, тебе решать, доверять ли XPipe в этом вопросе. Ты можешь запустить это соединение просто из коробки, это полезно только в том случае, если ты хочешь использовать какие-либо расширенные функции интеграции рабочих столов в XPipe.
