Я хочу создать веб-приложение, похожее на TS Web Access, где я могу создавать файлы rdp на лету для удаленных приложений, настроенных на сервере. Есть идеи??
Генерация RDP-файла на лету
Ответы (2)
Мы должны были сделать именно это.
private void InvokeRDPSign(String fileName, String certificateThumbPrint)
{
Process signingProcess = new Process();
signingProcess.StartInfo.FileName = @"rdpsign.exe";
String arguments = String.Format("/sha1 {0} {1}", certificateThumbPrint, fileName);
signingProcess.StartInfo.Arguments = arguments;
signingProcess.StartInfo.UseShellExecute = false;
signingProcess.StartInfo.RedirectStandardOutput = true;
signingProcess.StartInfo.WorkingDirectory = Environment.SystemDirectory;
signingProcess.Start();
String signingOutput = signingProcess.StandardOutput.ReadToEnd();
signingProcess.WaitForExit();
int exitCode = signingProcess.ExitCode;
//TODO: should we throw an error if the exitcode is not 0
}
Имейте в виду, что RDPsign.exe отличается в каждой версии Windows. Вы обнаружите, что более старая версия утилиты игнорирует новые настройки из подписи.
person
Naraen
schedule
11.03.2011
Мне пришлось использовать учетную запись с повышенными правами для удостоверения пула приложений, чтобы это работало. Как предлагалось в других сообщениях, я, вероятно, собираюсь переместить этот код в службу на компьютере с повышенными привилегиями, а не навсегда изменить идентификатор пула приложений.
- person Jason; 11.02.2012
хорошо. Посмотрев на файл «rdp», это содержимое:
screen mode id:i:2
desktopwidth:i:1280
desktopheight:i:768
session bpp:i:32
winposstr:s:2,3,1430,104,2230,704
compression:i:1
keyboardhook:i:2
displayconnectionbar:i:1
disable wallpaper:i:1
disable full window drag:i:1
allow desktop composition:i:0
allow font smoothing:i:0
disable menu anims:i:1
disable themes:i:0
disable cursor setting:i:0
bitmapcachepersistenable:i:1
full address:s: [YOUR IP]
audiomode:i:0
redirectprinters:i:1
redirectcomports:i:0
redirectsmartcards:i:1
redirectclipboard:i:1
redirectposdevices:i:0
autoreconnection enabled:i:1
authentication level:i:0
prompt for credentials:i:0
negotiate security layer:i:1
remoteapplicationmode:i:0
alternate shell:s:
shell working directory:s:
gatewayhostname:s:
gatewayusagemethod:i:4
gatewaycredentialssource:i:4
gatewayprofileusagemethod:i:0
promptcredentialonce:i:1
drivestoredirect:s:
Просто создайте это как строку, кажется простым.
ps я понятия не имею, что такое параметр 'winposstr'...
person
Darknight
schedule
19.11.2009
это совершенно нормально, но мои удаленные приложения имеют цифровую подпись с сертификатом, который добавляет 2 дополнительных параметра в мой файл rdp: 1. signscope: s 2. подпись: s. Как я могу создать значения для этих параметров, они используют хэш SHA1. ..???
- person Gaurav Arya; 19.11.2009
Я не знаю, что происходит с этими сертификатами. вы не можете создать действительное RDP «удаленное приложение», а затем скопировать этот сигнал? или сиг каждый раз разный?
- person Darknight; 19.11.2009
Подпись всегда одна и та же, но я хочу открыть diff. app на кнопках diff, а подпись зависит от имени программы удаленного приложения, поэтому я должен изменить подпись на лету. Пример содержимого rdp-файла:
- person Gaurav Arya; 19.11.2009
span monitors:i:1 запрашивать учетные данные на клиенте:i:1 remoteapplicationmode:i:1 порт сервера:i:3389 разрешать сглаживание шрифтов:i:1 promptcredentialonce:i:1 уровень аутентификации:i:0 gatewayusagemethod:i:2 gatewayprofileusagemethod :i:0 gatewaycredentialssource:i:0 полный адрес:s:LUTRONTS1 альтернативная оболочка:s:||TSClient_TS2 remoteapplicationprogram:s:||TSClient_TS2 gatewayhostname:s: remoteapplicationname:s:TSClient_TS2 remoteapplicationcmdline:s:
- person Gaurav Arya; 19.11.2009
signscope: s: Полный адрес, порт сервера, GatewayHostname, GatewayUsageMethod, GatewayProfileUsageMethod, GatewayCredentialsSource, PromptCredentialOnce, Alternate Shell, RemoteApplicationProgram, RemoteApplicationMode, RemoteApplicationName, RemoteApplicationCmdLine, уровень проверки подлинности, RedirectDrives, RedirectPrinters, RedirectCOMPorts, RedirectSmartCards, RedirectPOSDevices, RedirectClipboard, DevicesToRedirect, DrivesToRedirect
- person Gaurav Arya; 19.11.2009
Подпись: S: AQABAAEAAACVBAAAMIIEkQYJKoZIhvcNAQcCoIIEgjCCBH4CAQExCzAJBgUrDgMC GgUAMAsGCSqGSIb3DQEHAaCCAvowggL2MIIB3qADAgECAhCMel1Y / 5YAjUXCeMhU Fzi8MA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNVBAMTGWx1dHJvbnRzMS5nZ24ubmFn YXJyby5jb20wHhcNMDkxMTE5MDc0NTIyWhcNMTAxMTE4MDAwMDAwWjAkMSIwIAYD VQQDExlsdXRyb250czEuZ2duLm5hZ2Fycm8uY29tMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEAn + ExkAWD10vOi0TDOyZl9XGuh6Q7qSKVTzaumgUx1S88 H3KS8wLgO6eWThGKaFzLhPhO98G6RRbtxcdcSjeP + 3RSQPNA8chbYZ5I3zhPQ8J3 D1d7fvdgWodL + ltvrnTMr0cxZWGR5xtCljwqcKhoUDHnPJQiU9g2WGhs7PqmPOFA
- person Gaurav Arya; 19.11.2009
QtFrHUo1hrHyawYWfqekNhVnWtyI0xxnM3rpnwile6LWJAPGPYolHc / qTV9NaLwq 7c3a4NfshM24UN7WUo / 0I4pnHbwjjyUHWxCDOQPO5nRGGmVdFh2Jwn5F + P82qLUE TvT2vJJ0tRn / TEMXZEEMOztBEONN9QtKhaRI + 2HJdwIDAQABoyQwIjALBgNVHQ8E BAMCBDAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQEFBQADggEBAEDj cor3tOY / 4JnwNuQxOWbdV2yIW / gITWsJXpkM6X + 0XcFTKHtPjmthGphwxAniiw7D rgpBokzh / 8tRNMIZDeQej + JkgYLKO4Q + fzBhvxz4qHQqYZlSVPwBhcjrPFK88ggo JqYh2JTAttC5V969YMOVYc // OAKLoVMravaHUmlRAC6NvkHiVV + HoeDZbAQwnQaa zNpMwy1A6Mre6hQI4NsCFOaZEeJwtTuvd8RgpIdzI3oNL5Vy2dfXj9dvSu8OtrPU r2Kk34gEhC6a / owFSQOc208WJfOvX0G1TFKl8Tyx6vcgqWfohlUNDAxxd68Fl22f
- person Gaurav Arya; 19.11.2009
R0EANq3XNPjp4aoyn74xggFfMIIBWwIBATA4MCQxIjAgBgNVBAMTGWx1dHJvbnRz MS5nZ24ubmFnYXJyby5jb20CEIx6XVj / lgCNRcJ4yFQXOLwwCQYFKw4DAhoFADAN BgkqhkiG9w0BAQEFAASCAQAsjUwyBxFpBHFTCFKJixLIZoOb2HK0 / HU / vWNeIOfe fJ9OakxSzzHYYRZSrWKCbcl3Mp1 / La1 / D7L9vXlotPMB3qzeT5voczxLrY0J0Hly 08EALAYywbRki60brA2AKJ6Ri3ph3KUzD2aZQiV8kVZTJzqWPp20dCvL5Cl38qG6 I30ZtN1zadkgdg3vI0Ulh8IbfgNv9uQxvtGh9R55t8GRgTpexbGAx1r9ocKTSTW3 bFwds / l25ZKWrEiA1S + 4r4J8QYLnoStVZcdOPBbp9z8CFfLxFoljA8pVVFqSQb51 PWV5 + k2lqwBngp290Hoi6VL6HdXkA6eLYO8DqNuOJiFY
- person Gaurav Arya; 19.11.2009
winposstr может быть положением и размером окна клиента (верхняя левая точка, нижняя правая точка, ширина и высота).
- person Thomas Bratt; 08.03.2012
Да, похоже на это: tiredblogger.wordpress.com/2008/11/05/
- person Thomas Bratt; 08.03.2012