Quiero crear una aplicación web similar a Acceso web a TS, donde puedo crear archivos rdp sobre la marcha para aplicaciones remotas configuradas en el servidor. ¿¿Alguna idea??Generando un archivo RDP sobre la marcha
Respuesta
Habiendo bien cuidado en un archivo 'RDP' este es el contenido:
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:
Apenas cree que como una cadena, parece sencillo.
ps no tengo idea de lo que el parámetro 'winposstr' es ...
que teníamos que hacer esta cosa exacta.
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
}
Tenga en cuenta que que el RDPSign.exe es diferente en cada versión de Windows. Descubrirá que una versión anterior de la utilidad ignorará las configuraciones más nuevas de la firma.
Tuve que usar una cuenta elevada para la aplicación identidad del grupo para hacer que esto funcione. Como han sugerido otras publicaciones, probablemente trasladaré este código a un servicio de la máquina con privilegios elevados en lugar de cambiar permanentemente la identidad del grupo de aplicaciones. – Jason
- 1. Genere un archivo javascript sobre la marcha en asp.net mvc
- 2. asp.net - Genere un archivo de Powerpoint sobre la marcha
- 3. métodos Creación sobre la marcha
- 4. Cargando jQuery sobre la marcha
- 5. Abrir archivo PDF sobre la marcha desde una aplicación Java
- 6. WebView css carga sobre la marcha
- 7. uploadify | cambiar uploadifysettings sobre la marcha
- 8. Convertir EPS a PDF sobre la marcha con pdflatex sobre la marcha
- 9. Pruebas unitarias Clojure sobre la marcha en un marco separado
- 10. Cambiar la ordenación en un NSFetchedResultsController sobre la marcha
- 11. Java ArrayList y HashMap sobre la marcha
- 12. Perl: ¿cómo crear objetos sobre la marcha?
- 13. Cargando complementos Haskell sobre la marcha
- 14. ¿Puedo crear colas resque sobre la marcha?
- 15. Cálculo de percentiles sobre la marcha
- 16. primavera: agregue contexto xml sobre la marcha?
- 17. ¿Validar EmberJS TextField sobre la marcha?
- 18. Creación de claves JSON sobre la marcha
- 19. "Editar" texto del usuario sobre la marcha?
- 20. C# 4.0, ¿Métodos sobre la marcha?
- 21. claves de diccionario Generación sobre la marcha
- 22. Crear un modelo de YAML/JSON sobre la marcha
- 23. Archivos ZIP de PHP sobre la marcha
- 24. Creación de subdominios sobre la marcha
- 25. ¿Cómo nombrar variables sobre la marcha?
- 26. Escribir en/res/dibujable/sobre la marcha?
- 27. Cargando complementos (DLL) sobre la marcha
- 28. VB.Net Inicializando una matriz sobre la marcha
- 29. Generando un archivo binario aleatorio
- 30. Cambiando CSS sobre la marcha en un UIWebView en iPhone
esto está perfectamente bien, pero mis RemoteApps están firmados digitalmente con un certificado, que añade 2 parámetros adicionales en mi archivo RDP: 1. signscope: s 2. Firma: s ¿Cómo puedo crear valores de estos parámetros , estos usan hash SHA1 ... ??? –
No sé qué está pasando con estos certs. ¿No puedes crear un RDP válido de "aplicación remota" y luego copiar ese sig? o es el sig diferente cada vez? – Darknight
La firma es igual cada vez, pero tengo que abrir diff. la aplicación en los botones de diferenciación, y la firma depende del nombre del programa de la aplicación remota, así que tengo que cambiar la firma sobre la marcha.Muestra el contenido del archivo RDP: –